我收到以下代码的错误:
public $arr = array('email' => 'admin@' . str_replace('http://', '', SERVER_ROOT));
Parse error: syntax error, unexpected '.', expecting ')'
我真的很蠢吗?当然我可以在这里连接字符串?
这是在类中声明的变量。
答案 0 :(得分:5)
您无法使用表达式初始化类属性。您必须在构造函数中执行此操作或使用固定值,如常规字符串。
答案 1 :(得分:1)
这是一个错误,你不能初始化像这样的属性
属性
类成员变量称为“属性”。你也可以看到它们 引用使用其他术语,如“属性”或“字段”,但 出于本参考的目的,我们将使用“属性”。他们是 使用关键字public,protected或private之一定义, 然后是正常的变量声明。这个声明可能会 包括一个初始化,但是这个初始化必须是一个常量值 - 也就是说,它必须能够在编译时进行评估,并且不能依赖于运行时信息才能进行评估。