Конструктор и деструктор в PHP
Конструктор в PHP это функция через которую создать много однотипных объектов.
Конструктор класса в PHP
PHP предоставляет магический метод __construct() (конструктор), который вызывается автоматически всякий раз, когда инстанцируется новый объект.
<?php
class Person {
public function __construct() {
echo "Object created";
}
}
$p = new Person();
?>
Метод __construct() часто используется для любой инициализации, которая может понадобиться объекту до его использования. Параметры могут быть включены в __construct(), чтобы принять значения при создании объекта.
<?php
class Person {
public $name;
public $age;
public function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
}
$p = new Person("David", 42);
echo $p->name;
?>
*В вышеуказанном коде конструктор использует аргументы в новом запросе, чтобы инициализировать соответствующие свойства класса.
Деструктор класса в PHP
Существует похожий на конструктор класса магический метод __destruct() (деструктор), который автоматически вызывается при удалении объекта.
<?php
class Person {
public function __destruct() {
echo "Object destroyed";
}
}
$p = new Person();
?>
*скрипт выше создает новый объект Person. Когда скрипт заканчивается, объект автоматически удаляется, что вызывает деструктор и выводит сообщение "Object destroyed".
Чтобы напрямую активировать деструктор, вы можете удалить объект при помощи функции unset() в запросе, подобном unset($p).
Деструкторы полезны для выполнения определенных задач, когда объект заканчивает свой жизненный цикл. Например, освобождение ресурсов, написание файлов журналов, закрытие соединения с базой данных и так далее.
PHP освобождает все ресурсы, когда скрипт заканчивает свое выполнение.