不能在常量中使用字符串串联


Can't use string concatenation in constants?

const
   SOME_PATH = __DIR__ . '/blabla.bla';

不起作用,我收到解析错误:

期待','' or";"

跆拳道!?

只能在声明类常量或属性时使用常量值。没有变量表达式。

问题不在于常量,而在于您使用非文字将类变量定义为字符串。

const SOME_PATH = __DIR__;

很好,但是一旦你开始使用串联,解析器就会发出嘶嘶声。

这与为什么有效的原因相同:

class myClass {
    public $something = "something";
}

但这不会:

class myClass {
    public $something = "some" . "thing";
}