class est un type valide
<?php
class foo {
public function barbar(\class $a) {}
// alright, not hing to see
public function bar (\self $a) {}
//Fatal error: '\self' is an invalid class name
}
?>
PHP permet d’utiliser \class comme nom de classe dans un type. C’est également le cas pour les interfaces, les enums, les traits… et c’est aussi valide pour d’autres mots-clés.
En revanche, un bon nombre de mots-clés PHP sont interdits et provoquent une erreur : \self est un nom de classe invalide.
Bien entendu, une fois typé de cette façon, il est impossible de satisfaire la spécification de type, et ce code n’est en pratique pas utilisable.
See Also
- On peut typer \class, pas self [Try me]
PHP Features
Last updated: 11 October 2026