Php 为什么可以';我声明一个;日期“;在课堂上?

Php 为什么可以';我声明一个;日期“;在课堂上?,php,oop,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() {

我真的不知道谷歌应该做什么,因为我在不懂专业术语的情况下学会了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'));
    }
}

你不能在课程开始时声明日期吗?为什么?日期是一个函数。函数是从方法调用的。另外,在构造函数中为
$todaysDate
变量指定一个值更合适。

From

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

性质

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

*