我收到了这个错误:
解析错误:语法错误,意外'。',期待','或';'在第5行的/var/(...)/config.php
使用此(简化)代码:
<?php
class Config
{
public static $somevar = "Date: " . date('Y');
}
?>
我认为这是有效的PHP,但我猜不是......我在这里做错了什么?谢谢!
答案 0 :(得分:5)
根据the PHP docs:
与任何其他PHP静态变量一样,静态属性只能使用文字或常量初始化;表达式是不允许的。因此,虽然您可以将静态属性初始化为整数或数组(例如),但您可能不会将其初始化为另一个变量,函数返回值或对象。
尝试写作
Config::$somevar = "Date: " . date('Y');
在课程定义之后。
答案 1 :(得分:2)
没有允许属性初始化的操作或函数,因为在解析时会对此进行评估。
答案 2 :(得分:1)
来自Manual
与任何其他PHP静态变量一样,静态属性只能使用文字或常量初始化;表达式是不允许的。因此,虽然您可以将静态属性初始化为整数或数组(例如),但您可能不会将其初始化为另一个变量,函数返回值或对象。