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

Confusions d’identifiants

<?php


const A = 'b::c';

class B {
    static function C() { echo __METHOD__; }
}

//valid call to \B::C()
constant('A')();

// class A not found
//new A;

// Call to undefined function A()
A();

// parse error, this is not supported
//{A}();

Les identifiants sont utilisés à la fois pour les noms de constantes et pour les noms de classes (CITE). Selon la situation, ils peuvent être confondus l’un avec l’autre : ici, A est une constante, et sa valeur est accessible à des fins de code dynamique. Pourtant, A() ne peut pas être utilisé.

Il n’existe pas de syntaxe pour appeler dynamiquement une fonction dont le nom est stocké dans une constante, sans avoir recours à un appel à la fonction constant() ou à une variable temporaire.

See Also

PHP Features

Last updated: 22 October 2026