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