Оглавление

31.2. Конструктор и деструктор

Чтобы при создании класса присвоить начальные значения каким-либо переменным,  необходимо  создать  метод,  имеющий  предопределенное  название __construct(). Такой метод называется конструктором. Конструктор всегда автоматически вызывается сразу после создания объекта.

class <Имя класса> {
   <Область видимости> <Имя переменной co знаком $>;
   [<Область видимости>] function <Имя функции> ([Параметры]) {
      $this-><Имя переменной без знака $> = <Значение>;
      $this-><Имя функции>();
   }
   public function __construct(<Параметр1>) {
      $this-><Имя переменной без знака $> = <Параметр1>;
   }
} 


При создании экземпляра класса параметр <Параметр1> можно указать после имени класса в круглых скобках:
<Экземпляр класса> = new <Имя класса>(<Параметр1>);

 

Кроме того, конструктор может иметь то же название, что и имя класса. Такой метод создания конструктора применялся в PHP 4. В настоящий момент может использоваться для совместимости.
Если  конструктор  вызывается  при  создании  объекта,  то  перед  уничтожением  объекта автоматически  вызывается  метод,  называемый  деструктором. 

 

В  языке PHP  деструктор  реализуется  в  виде  предопределенного  метода  __destruct().

 
Например:

<?php
class Class1 {
   public $var;
   public function __construct($var) {
      $this->var = $var;
      echo 'Вызван конструктор<br>';
   }
   public function __destruct() {
      echo 'Вызван деструктор';
   }
   public function f_get() {
      return $this->var;
   }
}
$obj = new Class1(5);
echo 'Значение свойства var равно ' . $obj->f_get() . '<br>';
echo 'Вывод перед удалением объекта<br>';
unset($obj);
?>

 

Этот простейший пример выведет:
Вызван конструктор
Значение свойства var равно 5
Вывод перед удалением объекта
Вызван деструктор

Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити