Вопрос
Вот как я хотел это сделать, чтобы оно работало в PHP 5.3.0+.
<?php
class MyClass
{
const CONSTANT = 'Const var';
}
$classname = 'MyClass';
echo $classname::CONSTANT; // As of PHP 5.3.0
?>
Но я ограничен использованием PHP 5.2.6.Может ли кто-нибудь придумать простой способ смоделировать это поведение без создания экземпляра класса?
Другие советы
Если вам абсолютно необходим доступ к такой константе, вы можете сделать это:
<?php
class MyClass
{
const CONSTANT = 'Const var';
}
$classname = 'MyClass';
echo eval( 'return '.$classname.'::CONSTANT;' );
?>
Но на вашем месте я бы старался не использовать eval.
Не связан с StackOverflow