Установка даты для переменной в классе PHP - PullRequest
4 голосов
/ 15 января 2010

Я думаю, что это действительно очень простой вопрос, но я не могу найти ответ.

Я пытаюсь установить значения по умолчанию для свойств в классе 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?

1 Ответ

10 голосов
/ 15 января 2010

Вы не можете использовать вызов функции или переменную вне функции внутри класса. Значения по умолчанию должны быть статическими.

Допустимы следующие назначения:

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");
}
...