Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
这就是我想要在 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。谁能想到一个简单的方法来模拟这种行为而不实例化类?
您可以eval在不使用 5.3 之前的代码的情况下完成此操作。只需使用以下constant功能:
eval
constant
<?php class MyClass { const CONSTANT = 'Const var'; } $classname = 'MyClass'; echo constant("$classname::CONSTANT"); ?>
如果您绝对需要访问这样的常量,您可以这样做:
<?php class MyClass { const CONSTANT = 'Const var'; } $classname = 'MyClass'; echo eval( 'return '.$classname.'::CONSTANT;' ); ?>
但是,如果我是你,我会尽量不使用 eval。