REQUEST_URI上的PHP错误

时间:2011-11-26 23:00:53

标签: php

我有以下代码

class MyClass{ 
  protected $something = $_SERVER['REQUEST_URI'];
}

我在该行收到以下错误:

  

解析错误:语法错误,......中的意外T_VARIABLE

我可以这样做吗?或者我做错了什么。

最诚挚的问候,

PS:对标题感到抱歉,如果你能找到更好的标题,请随时更改。

3 个答案:

答案 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']
  }
}