2

为什么我可以分配

$tmpPath = DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR;

在一个类方法中,但是当我尝试将它分配给一个受保护的类变量时得到一个 PHP Parse 错误,如下所示:

protected $_tmpPath = DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR;

这是错误日志:

PHP Parse error: syntax error, unexpected '.', expecting ',' or ';' in ...

4

1 回答 1

3

属性值必须是单个常量值,而不是表达式。

除非您使用的是 PHP5.6,在这种情况下,您拥有的代码是完全允许的。

但在您这样做之前,典型的解决方法是在类的构造函数中为其分配值。

于 2014-07-10T08:03:27.267 回答