Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 访问一系列类的常量属性_Php_Oop - Fatal编程技术网

Php 访问一系列类的常量属性

Php 访问一系列类的常量属性,php,oop,Php,Oop,这就是我希望在PHP5.3.0中工作的方式+ <?php class MyClass { const CONSTANT = 'Const var'; } $classname = 'MyClass'; echo $classname::CONSTANT; // As of PHP 5.3.0 ?> 但我仅限于使用PHP5.2.6。有人能想出一种简单的方法来模拟这种行为而不实例化类吗?如果您确实需要访问这样

这就是我希望在PHP5.3.0中工作的方式+

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

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


但我仅限于使用PHP5.2.6。有人能想出一种简单的方法来模拟这种行为而不实例化类吗?

如果您确实需要访问这样的常量,您可以这样做:

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

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


但是,如果我是你,我会尽量不使用eval。

你不需要在5.3之前的代码中使用eval就可以实现这一点。只需使用以下功能:

<?php

class MyClass
{
    const CONSTANT = 'Const var';
}

$classname = 'MyClass';
echo constant("$classname::CONSTANT");

?>