Ada*_*old 54 php variables class constants
我正试图在我的一个类中访问一个类常量:
const MY_CONST = "value";
Run Code Online (Sandbox Code Playgroud)
如果我有一个变量,其中包含此常量的名称,如下所示:
$myVar = "MY_CONST";
Run Code Online (Sandbox Code Playgroud)
我可以以某种方式访问MY_CONST的值吗?
self::$myVar
Run Code Online (Sandbox Code Playgroud)
显然不起作用,因为它是静态属性.变量变量也不起作用.
web*_*ave 124
常量函数使用通过声明的常量define
以及类常量:
class A
{
const MY_CONST = 'myval';
static function test()
{
$c = 'MY_CONST';
return constant('self::'. $c);
}
}
echo A::test(); // output: myval
Run Code Online (Sandbox Code Playgroud)
第二种更费力的方式是反思:
$ref = new ReflectionClass('A');
$constName = 'MY_CONST';
echo $ref->getConstant($constName); // output: myval
Run Code Online (Sandbox Code Playgroud)
mar*_*rio 30
没有语法,但您可以使用显式查找:
print constant("classname::$myConst");
Run Code Online (Sandbox Code Playgroud)
我相信它也适用self::
.
归档时间: |
|
查看次数: |
33603 次 |
最近记录: |