Acessando um atributo CONST de uma série de classes
Pergunta
É assim que eu queria fazer, que funcionaria no PHP 5.3.0+
<?php
class MyClass
{
const CONSTANT = 'Const var';
}
$classname = 'MyClass';
echo $classname::CONSTANT; // As of PHP 5.3.0
?>
Mas estou restrito a usar o PHP 5.2.6.Alguém consegue pensar em uma maneira simples de simular esse comportamento sem instanciar a classe?
Outras dicas
Se você realmente precisa acessar uma constante como essa, você pode fazer isso:
<?php
class MyClass
{
const CONSTANT = 'Const var';
}
$classname = 'MyClass';
echo eval( 'return '.$classname.'::CONSTANT;' );
?>
Mas, se eu fosse você, tentaria não usar eval.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow