访问一系列类的CONST属性
时间:2020-03-05 18:38:30 来源:igfitidea点击:
这就是我想要的方法,它可以在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。
回答
我们无需在5.3之前的代码中使用eval
就可以完成此操作。只需使用constant
函数即可:
<?php class MyClass { const CONSTANT = 'Const var'; } $classname = 'MyClass'; echo constant("$classname::CONSTANT"); ?>