我知道可以使用变量作为名称来访问对象属性/方法
例如:
$propName = 'something';
$something = $object->$propName;
是否可以使用相同的w /常量或静态属性?
我试过了:
$ constName ='MY_CONST';
MyCLass::{$constName};
和
$obj::{$constName};
但似乎没有任何效果,我无法在任何地方找到它。
答案 0 :(得分:7)
使用:Class::$$constName
,这与普通variable variables类似。
演示:
<?php
class MyClass {
public static $var = 'A';
}
$name = 'var';
echo MyClass::$$name; // echoes 'A'
可以使用constant
函数访问常量:
constant('MyClass::'.$constantName)
答案 1 :(得分:2)
这对我有用:
<?php
class Test {
public static $nombre = "pepe";
public function __construct() {
return self;
}
}
$varName = "nombre";
echo Test::${$varName};
答案 2 :(得分:1)
您可以使用常量函数:
constant('bar::'. $const);
constant("$obj::". $const); //note the double quote