Ich versuche, auf eine Klassenkonstante in einer meiner Klassen zuzugreifen:
const MY_CONST = "value";
Wenn ich eine Variable habe, die den Namen dieser Konstante wie folgt enthält:
$myVar = "MY_CONST";
Kann ich irgendwie auf den Wert von MY_CONST zugreifen?
self::$myVar
Das funktioniert offensichtlich nicht, da es sich um eine statische Eigenschaft handelt. Außerdem funktionieren variable Variablen ebenfalls nicht.
没有相应的语法,但您可以使用显式查找:
我相信它也适用于
self::
。有两种方法可以做到这一点:使用 constant 函数或使用反射。
常量函数
常量函数适用于通过
define
声明的常量以及类常量:反射类
第二种更费力的方法是通过反射: