5

我收到此错误:

解析错误:语法错误,意外的 '.',期待 ',' 或 ';' 在 /var/(...)/config.php 第 5 行

使用此(简化)代码:

<?php

class Config
{
   public static $somevar = "Date: " . date('Y');
}

?>

我认为这是有效的 php,但我想不是......我在这里做错了什么?谢谢!

4

3 回答 3

5

根据PHP 文档

与任何其他 PHP 静态变量一样,静态属性只能使用文字或常量进行初始化;不允许表达。因此,虽然您可以将静态属性初始化为整数或数组(例如),但您不能将其初始化为另一个变量、函数返回值或对象。

尝试写作

Config::$somevar = "Date: " . date('Y');

在类定义之后。

于 2010-11-24T13:05:24.287 回答
2

属性初始化不允许任何操作或函数,因为在解析时会对其进行评估。

于 2010-11-24T13:04:51.630 回答
1

手册

与任何其他 PHP 静态变量一样,静态属性只能使用文字或常量进行初始化;不允许表达。因此,虽然您可以将静态属性初始化为整数或数组(例如),但您不能将其初始化为另一个变量、函数返回值或对象。

于 2010-11-24T13:04:16.720 回答