将日期设置为PHP类中的变量

rya*_*art 4 php datetime date

我认为这是一个非常非常简单的问题,但我似乎无法找到答案.

我试图在PHP类的属性设置默认值,其中一个是日期,所以我尝试使用日期()函数来设置它:

<?php 
class Person
{
    public $fname = "";
    public $lname = "";
    public $bdate = date("c");
    public $experience = 0;
}
?>
Run Code Online (Sandbox Code Playgroud)

我在Zend Studio中遇到错误,在公共$ bdate行上说

PHP Parse error:  syntax error, unexpected '(', expecting ',' or ';'
Run Code Online (Sandbox Code Playgroud)

我已经通过在PHP中的各种日期类和类/属性文档一堆文件看,但我无法找到一个日期值设置为财产的任何实例.我已经尝试过mktime()和其他一些日期类,但我总是得到同样的错误.

如何在PHP中为属性设置日期值?

Tyl*_*ter 12

您不能在类中使用函数调用或函数外部的变量.默认值必须是静态的.

以下分配有效:

public $data = "hello";
public $data = array(1,2,3,4);
public $data = SOME_CONSTANT;
Run Code Online (Sandbox Code Playgroud)

以下不是:

public $data = somefunction();
public $data = $test;
Run Code Online (Sandbox Code Playgroud)

但是,您可以使用构造函数:

public function __construct()
{
    $this->bdate = date("c");
}
Run Code Online (Sandbox Code Playgroud)

  • 太棒了,这很有道理.谢谢! (2认同)