class user {
//URLs
private static $signInURL = $_SERVER['DOCUMENT_ROOT'].'/?page=signin';
...
...
...
我得到了
和意外的T_VARIABLE错误。
有人可以告诉我如何构建该URL以便它不会给我一个错误吗?
答案 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';
}
}