嘿。我有以下代码:

class user {

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

  ...
  ...
  ...

我得到

和意外的T_VARIABLE错误。

有人可以告诉我如何构造该网址,这样它不会给我一个错误吗?

最佳答案

您不能在此处使用变量,应将其移至方法中。无论如何这都是不好的风格,因为类User必须了解$ _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;
  }
}

10-06 10:05