簡體   English   中英

PHP類$ _SERVER變量屬性

[英]PHP Class $_SERVER Variable a Property

我正在開發一個類,我有這個結構:

class userInfo {
    public $interval        = 60;
    public $av_langs        = null;

    public $ui_ip           = $_SERVER['REMOTE_ADDR'];
    public $ui_user_agent   = $_SERVER['HTTP_USER_AGENT'];

    public $ui_lang         = null;
    public $ui_country      = null;

    // non-relevant code removed
}

但是在執行腳本時我收到此錯誤:

解析錯誤:語法錯誤,第12行的D:\\ web \\ www \\ poll \\ get_user_info \\ get_user_info.php中的意外T_VARIABLE

當我將2 $ _SERVER變量更改為簡單字符串時,錯誤消失了。

那么$ _SERVER在聲明類屬性時會出現什么問題?

謝謝

使用此代碼作為指南:

public function __construct() {
    $this->ui_ip = $_SERVER['REMOTE_ADDR'];
    $this->ui_user_agent = $_SERVER['HTTP_USER_AGENT'];
}

可以僅使用值而不是表達式聲明屬性。
您可以創建__construct()方法,您可以以任何方式初始化屬性。

那么$ _SERVER在聲明類屬性時會出現什么問題?

您不能使用變量或函數調用預設類屬性。

以下是對原因的一些深入討論: 為什么PHP屬性不允許函數?

然而,最重要的是,它根本不可能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM