不能在类中调用PHP的date()?

时间:2014-03-07 06:26:14

标签: php

初始化实例变量

时使用date()时出错
class User extends Connectable {
    private $date = date('Y-m-d');
}

错误是

 Parse error: syntax error, unexpected '(', expecting ',' or ';' 

这很奇怪,因为当我从函数内部或类外部调用date()时它工作正常......

4 个答案:

答案 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');
     }
}