在为PHP类声明属性的默认值时,似乎无法使用连接.是否有一个原因?
class Foo
{
public $property = __DIR__ . '/';
}
Run Code Online (Sandbox Code Playgroud)
见http://www.php.net/manual/en/language.oop5.properties.php
它们通过使用public,protected或private之一,然后是普通变量声明来定义.此声明可能包括初始化,但此初始化必须是常量值 - 也就是说,它必须能够在编译时进行评估,并且必须不依赖于运行时信息才能进行评估.
对于更复杂的初始化,请使用构造函数
public function __construct()
{
$this->settings = __DIR__ . '/';
}
Run Code Online (Sandbox Code Playgroud)
从PHP 5.6版开始,在PHP中声明默认类属性时可以使用串联.请参阅https://wiki.php.net/rfc/const_scalar_exprs.
这允许只接受静态值(const声明,属性声明,函数参数等)的地方也能够获取静态表达式.