php意外T_VARIABLE,这里的帮助不大

时间:2010-04-22 13:44:31

标签: php syntax-error

嘿那里。我有以下代码:

class user {

  //URLs
  private static $signInURL = $_SERVER['DOCUMENT_ROOT'].'/?page=signin';

  ...
  ...
  ...

我得到了

和意外的T_VARIABLE错误。

有人可以告诉我如何构建该URL以便它不会给我一个错误吗?

2 个答案:

答案 0 :(得分:4)

您不能在那里使用变量,您应该将其移动到方法中。无论如何,这是糟糕的风格,因为用户必须知道$ _SERVER。

如果你真的非常希望这样,你可以使用:

private static $signInURL = '';

public static getSignInUrl()
{
  if (User::$signInUrl == '') User::$signInUrl = $_SERVER....;
  return User::$signInUrl;
}

我建议使用:

class User
{
  private static $signInUrl = '/signin';

  public static getSignInUrl($base)
  {
    return $base . User::$signInUrl;
  }
}

答案 1 :(得分:1)

您不能将变量作为类属性的值。尝试,

class a
{
 private $signInURL;
 public function __construct()
 {
  $this->signInURL = $_SERVER['DOCUMENT_ROOT'].'/?page=signin';
 }
}