我对oop概念一点都不好,但我试过
final class my_class
{
const VALUE = "test";
const VALUE1 = "test";
}
这是有效的
$some = 'test';
final class my_class
{
const VALUE = $some;
const VALUE1 = "test";
}
这不起作用的原因?
答案 0 :(得分:0)
因为PHP5目前不支持此功能。
如果你想要这个功能,你必须等待PHP5.6,它添加了常量标量表达式:https://wiki.php.net/rfc/const_scalar_exprs
这意味着,您可以使用常量标量表达式来定义常量 - 类似const VALUE = $var;
之类的东西仍然无法正常工作。
如果你真的想定义一些运行时常量,你必须使用define()
或使用runkit(runkit_constant_add
)操作类