通过变量名访问静态对象属性

Car*_*cce 4 php variables object object-properties

我知道可以使用变量作为名称来访问对象属性/方法

例:

$propName = 'something';
$something = $object->$propName;
Run Code Online (Sandbox Code Playgroud)

是否可以执行相同的w /常量或静态属性?

我试过了:

$ constName ='MY_CONST';

MyCLass::{$constName};
Run Code Online (Sandbox Code Playgroud)

$obj::{$constName};
Run Code Online (Sandbox Code Playgroud)

但似乎没有任何工作,我无法在任何地方找到它.

Tim*_*lla 8

使用:Class::$$constName,这类似于普通变量变量.

演示:

<?php    
class MyClass {
    public static $var = 'A';
}
$name = 'var';
echo MyClass::$$name; // echoes 'A'
Run Code Online (Sandbox Code Playgroud)

可以使用以下constant函数访问常量:

constant('MyClass::'.$constantName)
Run Code Online (Sandbox Code Playgroud)