Accéder à un attribut CONST d'une série de Classes

C'est ainsi que je voulais le faire, ce qui fonctionnerait en PHP 5.3.0

<?php
    class MyClass
    {
        const CONSTANT = 'Const var';        
    }

    $classname = 'MyClass';
    echo $classname::CONSTANT; // As of PHP 5.3.0
?>

Mais je suis limité à l'utilisation de PHP 5.2.6. Quelqu'un peut-il penser à un moyen simple de simuler ce comportement sans instancier la classe ?

请先 登录 后评论

1 réponses

Juan

Si vous avez absolument besoin d'accéder à une constante comme celle-ci, vous pouvez le faire :

<?php
class MyClass
{
        const CONSTANT = 'Const var';
}

$classname = 'MyClass';
echo eval( 'return '.$classname.'::CONSTANT;' );
?>

Mais, si j'étais vous, j'essaierais de ne pas utiliser eval.

请先 登录 后评论
  • 26 abonnés
  • 0 favoris,515 Feuilleter
  • Peter Coulton posée à 2023-03-22 17:42