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

Конструктор

Конструктор позволяет автоматически выполнять код во время создания экземпляра класса. Создаётся конструктор через ключевое слово __construct().

class Custom
{
    function __construct()
    {
        echo 'Экземпляр класса создан';
    }
};
 
$item = new Custom();

В коде выше на экране отобразится текст «Экземпляр класса создан».

Одно из частых применений конструктора, это присваивание свойств при создании экземпляра класса.

class Lang
{
    public $name;
    public $version;
	
    function __construct($name, $version)
    {
        $this->name = $name;
        $this->version = $version;
    }
};

# Присваивание свойств при создании экземпляра класса
$php = new Lang('PHP', 7.2);
echo $php->name; // PHP
echo $php->version; // 7.2

Деструктор

Деструктор позволяет автоматически выполнять код после завершении работы скрипта или при удалении экземпляра класса. Создаётся деструктор через ключевое слово __destruct().

class Custom
{
    function __destruct()
    {
        echo 'Экземпляр класса удалён';
    }
};
 
$item = new Custom();
echo 'Строка 1';
unset($item); // удаление экземпляра класса
echo 'Строка 2';

/*
Строка 1
Экземпляр класса удалён
Строка 2
*/