OOP不能在变量中使用define

Mar*_*lln 1 php oop variables class

为什么defines在类中创建变量时不能使用?我该怎么做才能超越这个?(define是表前缀(db))

像这样:

class foo {
    public $bar = FOO."bar";
}
Run Code Online (Sandbox Code Playgroud)

这给了我以下错误:

解析错误:语法错误,意外'.',期待','或';'

Bol*_*ock 7

您只能使用常量表达式声明属性.这里,连接运算符是非法的(因此是解析错误),而不是FOO常量.

public $bar = FOO."bar";
Run Code Online (Sandbox Code Playgroud)

过去的一种方法是在构造函数中初始化它.您仍然可以使用常量,并将其与字符串连接起来.

class foo {
    public $bar;

    public function __construct() {
        $this->bar = FOO."bar";
    }
}
Run Code Online (Sandbox Code Playgroud)