Вопрос

Это единственный способ назначить $systime значение встроенных функций, через метод?

class Test{
    private  $systime;
    public function get_systime(){
       $this->systime = time();
    }
}

Сразу же я бы подумал что-то вроде этого, верно?:

class Test{
    private  $systime = time();
    public function get_systime(){
      echo $this->systime;
    }
}

Спасибо

Это было полезно?

Решение

Вы должны иметь возможность использовать конструктор для присвоения значения, например:

class Test {
  private $systime;
  function __construct() {
    $this->systime = time();
  }

  public function get_systime(){
    echo $this->systime;
  }
}


$t = new Test();
$t->get_systime();

Для получения дополнительной информации о __construct() смотрите раздел руководства по php, посвященный объектно-ориентированному php.

Другие советы

От http://www.php.net/manual/en/language.oop5.basic.php (Непосредственно перед примером 3)

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

Однако вы также можете присвоить значение из конструктора:

class Test{
    private  $systime;
    public function __construct(){
        $this->systime = time();
    }
    public function get_systime(){
      echo $this->systime;
    }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top