簡體   English   中英

為什么我不能在課堂上宣布“約會”?

[英]Why can't I declare a “date” in a class?

我真的不知道谷歌是什么,因為我有點不知道行話就拿起PHP和OOP。

為什么這不適用於PHP?

class Calendar{
    public $derp="lala";
    public $todaysDate=date('Y-m-d',strtotime('2013-04-11'));
}

但這樣做呢?

class Calendar{
    public $derp="lala";
    public function __construct() 
    {
        $this->todaysDate=date('Y-m-d',strtotime('2013-04-11'));
    }
}

你不能在課程開頭宣布一個日期? 為什么?

來自PHP.net

TL; DR您無法使用非常量值初始化屬性。 函數不是常量值。

屬性

類成員變量稱為“屬性”。 您也可以使用“屬性”或“字段”等其他術語來查看它們,但出於本參考的目的,我們將使用“屬性”。 它們通過使用public,protected或private之一,然后是普通變量來定義
宣言。 此聲明可能包括初始化,但此初始化必須是常量值 - 也就是說,它必須能夠在編譯時進行評估,並且必須不依賴於運行時信息才能進行評估。

date是一個功能。 函數從方法中調用。 另外,在構造函數中為$todaysDate變量賦值更合適。

暫無
暫無

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

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