我在constants.php中定义了一个名为PREFIX的常量。在类Foo中,我想创建一个以PREFIX作为前缀的静态类常量。但是我在const定义行上遇到语法错误。
require_once 'constants.php';
class Foo {
const FOO_CONST = PREFIX . 'bar';
public function __construct() {
}
}
答案 0 :(得分:4)
在PHP中,const
必须是值,而不是表达式。
因此,const FOO_CONST = 'foo' . 'bar';
也无效。
您必须使用define
或在构造函数中初始化而不是const
的类成员。使用表达式在类方法外部初始化类成员也不起作用。