在此上挥舞着我的头。我正在尝试将date()函数分配给像这样的foo()类的属性。
class Foo{
public $dt = date("F-d-Y H:j:s");
function today(){} //just some empty method
};
$g = new Foo();
echo $g->dt;
我有解析错误:语法错误,意外'(',期望',''或;'//这是date()line
我也尝试过。
class Foo{
public $dt;
function today(){
echo $this->dt = date("F-d-Y H:j:s");
}
};
$g = new Foo();
$g->today();
没有错误,一切都很好。因此,在我看来,我们无法将date()直接分配给类属性。请把我指向正确的方向。预先感谢。
如果提供了类属性的初始化,则必须是常数,而不是函数调用。如果要计算初始值,请在类构造函数方法中进行。
class Foo {
public $dt;
function __construct() {
$this->dt = date("F-d-Y H:j:s");
}
}
$g = new Foo();
echo $g->dt;
来自PHP文档:
本声明可能包括初始化,但是此初始化必须是一个恒定的值 - 也就是说,必须在编译时评估它,并且必须不依赖运行时信息才能进行评估。/blockquote>