Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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

PHP Features

Last updated: 11 October 2026