Конструкторы и деструкторы в ООП
- Подробности
- Категория: PHP
- Просмотров: 249
Если вы уже начали изучать ООП, то вы уже знаете...
что такое Конструкторы и деструкторы .
Конструкторы - понятно многим, это то, что исполняется каждый раз при создании экземпляра класса.
А вот деструкторы (понятны не всем) - это то, что будет выполнено в любом случае после завершения всех процессов в классе.
Показательный пример:
1 пример:
// Создаём класс User
class User {
// Объявление свойства name
public $name;
// Конструктор класса
public function __construct ($name, $surname) {
$this -> name = $name;
$this -> surname = $surname;
}
// Деструктор класса
public function __destruct () {
echo "Деструктор сработал";
}
// Метод для вывода имени
public function show_name () {
echo "Имя: " . $this -> name . "</br>";
}
}
// Создаём объект класса User
$user = new User("Сергей", "Пушкин");
$user -> show_name(); // Вывод имени
Вывод такой:
Имя: Сергей
Деструктор сработал
2 пример
// Создаём класс User
class User {
// Объявление свойства name
public $name;
// Конструктор класса
public function __construct ($name, $surname) {
$this -> name = $name;
$this -> surname = $surname;
}
// Деструктор класса
public function __destruct () {
echo "Деструктор сработал";
}
// Метод для вывода имени
public function show_name () {
echo "Имя: " . $this -> name . "</br>";
}
public function show_surname () {
echo "Фамилия: " . $this -> surname . "</br>";
}
}
// Создаём объект класса User
$user = new User("Сергей", "Пушкин");
$user -> show_name(); // Вывод имени
$user -> show_surname(); // Вывод имени
Вывод такой:
Имя: Сергей
Фамилия: Пушкин
Деструктор сработал
---
Видите, что в любом случае, закрытие происходит после окончания процессов.
---
Даже, если между ними я вставил еще обработку и вывод массив, то все равно вывод такой:
Имя: Сергей
Array ( [0] => ebb5243d [1] => inboxmail.life1 )
Регистрация с вашей почты не доступна :(Фамилия: Пушкин
Деструктор сработал