我认为这是一个非常非常简单的问题,但我似乎无法找到答案。
我正在尝试为PHP类中的属性设置默认值,其中一个是日期,所以我试图使用date()函数来设置它:
<?php
class Person
{
public $fname = "";
public $lname = "";
public $bdate = date("c");
public $experience = 0;
}
?>
我在Zend Studio中遇到错误,该错误在公共$ bdate行上显示
PHP Parse error: syntax error, unexpected '(', expecting ',' or ';'
我查看了PHP中各种日期类和类/属性文档的大量文档但我找不到任何为属性设置日期值的示例。我已经尝试了mktime()和其他一些日期类,但我总是得到同样的错误。
如何在PHP中为属性设置日期值?
答案 0 :(得分:10)
您不能在类中使用函数调用或函数外部的变量。默认值必须是静态的。
以下作业有效:
public $data = "hello";
public $data = array(1,2,3,4);
public $data = SOME_CONSTANT;
以下不是:
public $data = somefunction();
public $data = $test;
但您可以使用构造函数:
public function __construct()
{
$this->bdate = date("c");
}