我有以下代码
class MyClass{
protected $something = $_SERVER['REQUEST_URI'];
}
我在该行收到以下错误:
解析错误:语法错误,......中的意外T_VARIABLE
我可以这样做吗?或者我做错了什么。
最诚挚的问候,
PS:对标题感到抱歉,如果你能找到更好的标题,请随时更改。
答案 0 :(得分:3)
如果您在该上下文中为$something
分配值,则它必须是常量值,如数字或字符串。以下作品,
protected $something = 'foo';
但以下情况并非如此:
protected $something = $foo;
因此,如果要为该变量赋值,则应在构造函数上执行:
class MyClass {
protected $something;
function __construct() {
$this->something = $_SERVER['REQUEST_URI'];
}
}
答案 1 :(得分:2)
Php不允许您将此作为属性的定义。
你可以像这样重构:
class MyClass {
protected $something;
public function __construct()
{
$this->something = $_SERVER['REQUEST_URI'];
}
}
答案 2 :(得分:1)
$something
不期望从另一个变量填充。试试这个
class MyClass{
protected $something;
function __construct(){
$this->something = $_SERVER['REQUEST_URI']
}
}