为什么我不能在课堂上宣布“约会”?

时间:2013-04-11 23:35:42

标签: php oop

我真的不知道该怎么去谷歌,因为我有点不知道行话就拿起了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'));
    }
}

您不能在课程开头声明日期?为什么呢?

2 个答案:

答案 0 :(得分:3)

来自PHP.net

TL; DR您无法使用非常量值初始化属性。函数不是常量值。

  

属性

     

类成员变量称为“属性”。您也可以使用其他术语来查看它们   作为“属性”或“字段”,但出于本参考的目的,我们将使用“属性”。他们是   通过使用关键字public,protected或private之一定义,后跟正常变量
  宣言。此声明可能包括初始化,但此初始化必须是常量   value - 也就是说,它必须能够在编译时进行评估,并且不能依赖于运行时   信息以便进行评估。

答案 1 :(得分:0)

date是一个功能。函数从方法中调用。另外,在构造函数中为$todaysDate变量赋值更合适。