初始化实例变量
时使用date()时出错class User extends Connectable {
private $date = date('Y-m-d');
}
错误是
Parse error: syntax error, unexpected '(', expecting ',' or ';'
这很奇怪,因为当我从函数内部或类外部调用date()时它工作正常......
答案 0 :(得分:2)
属性声明可能包含初始化,但此初始化必须是常量值,也就是说,它必须能够在编译时进行评估,并且不能依赖于运行时信息。为了评估。
您可以在构造函数方法中初始化它。
答案 1 :(得分:1)
您应该在constructor
<?php
class User extends Connectable {
private $date;
function __construct()
{
$this->date = date('Y-m-d');
}
}
答案 2 :(得分:1)
此类表达式不允许作为字段默认值。您需要在构造函数中设置它们。
答案 3 :(得分:1)
尝试这个你可以使用它的构造函数,它在创建对象时初始化你的私有变量。
class User extends Connectable {
private $date1;
function __construct()
{
$this->date1 = date('Y-m-d');
}
}