我真的不知道该怎么去谷歌,因为我有点不知道行话就拿起了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'));
}
}
您不能在课程开头声明日期?为什么呢?
答案 0 :(得分:3)
来自PHP.net
TL; DR您无法使用非常量值初始化属性。函数不是常量值。
属性
类成员变量称为“属性”。您也可以使用其他术语来查看它们 作为“属性”或“字段”,但出于本参考的目的,我们将使用“属性”。他们是 通过使用关键字public,protected或private之一定义,后跟正常变量
宣言。此声明可能包括初始化,但此初始化必须是常量 value - 也就是说,它必须能够在编译时进行评估,并且不能依赖于运行时 信息以便进行评估。
答案 1 :(得分:0)
date
是一个功能。函数从方法中调用。另外,在构造函数中为$todaysDate
变量赋值更合适。