我知道可以使用变量作为名称来访问对象属性/方法
前任。:
$propName = 'something';
$something = $object->$propName;
是否可以使用常量或静态属性执行相同的操作?
我试过了:
$constName = 'MY_CONST';
MyCLass::{$constName};
和
$obj::{$constName};
但似乎没有任何效果,我在任何地方都找不到。
最佳答案
使用: Class::$$constName
,这类似于普通的 variable variables 。
演示:
<?php
class MyClass {
public static $var = 'A';
}
$name = 'var';
echo MyClass::$$name; // echoes 'A'
可以使用
constant
函数访问常量:constant('MyClass::'.$constantName)