这肯定是一个非常简单的问题,但我似乎无法在任何地方找到答案。我正在编写一个需要知道当前时间的PHP类。
此代码有效:
class className{
private $currentTime = 1475607467;
[...]
}
此代码不会:
class className{
private $currentTime = time();
[...]
}
是什么给出的?由于“time()”返回相同的10位数字,这些不应该相等吗?
答案 0 :(得分:6)
我建议你在构造函数中填充该属性:
class className
{
private $currentTime;
public function __construct()
{
$this->currentTime = time();
}
[...]
}
花点时间仔细阅读课程属性this section of PHP documentation。这将为您节省大量时间。
答案 1 :(得分:3)
正如马里奥已经指出的那样,你不能使用表达式声明属性。因此,您可以使用construct函数初始化类属性:
class className{
private $currentTime;
public function __construct()
{
$this->currentTime = time();
}
[...]
}
答案 2 :(得分:2)
试试这个:
Class className
{
private $currentTime;
Function __construct()
{
$this-> currentTime = time();
}
}