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

Cas limites des constantes de classe dynamiques

<?php

class X {
    const A = null;
}

// ?? works with class constants
echo X::A ?? 3;

// parse error, invalid syntax
//echo X::{A} ?? 3;

// quotes are needed, or a global constant
const A = 'A';
echo X::{A};

// @ does not hide undefined constants
echo @X::{'B'};

PHP 8.3 introduit une nouvelle syntaxe pour accéder dynamiquement aux constantes de classe : class::{constant-name}.

Les constantes de classe fonctionnent avec l’opérateur de coalescence ??, tant que la constante de classe elle-même a la valeur null. En revanche, ?? ne fonctionne pas avec la constante de classe dynamique et produit une erreur de syntaxe.

La syntaxe de constante de classe dynamique fonctionne avec des noms de constantes sans guillemets, mais dans ce cas, la constante globale correspondante doit exister et contenir le nom réel de la constante.

Enfin, l’opérateur de silence @ ne continue pas l’exécution en cas de constante de classe inexistante : il masque le message d’erreur et arrête l’exécution.

See Also

PHP Features

Last updated: 11 October 2026