Уроки PHP – Конструкторы и Деструкторы

PHP – это один из самых наиболее широко используемых языков программирования. У него большое сообщество преданных разработчиков, и на PHP построено много популярных фреймворков. Одними из самых ярких примеров можно назвать Magento и WordPress. Если вы хотите стать успешным программистом – этот язык подойдет вам для изучения. А наши уроки по PHP могут вам в этом помочь.

 

 

В предыдущем уроке мы рассмотрели Классы PHP и немного введения в ООП. Мы сделали обзор экземпляров класса, ключевого слова $this, рассмотрели наследование и видимость классов. Однако это еще не все. Есть еще информация, которая поможет вам лучше понять PHP. И в этом уроке вы ее получите.

 

 

Конструктор классов

Допустим, вам нужно, чтобы какой-то код выполнялся автоматически всякий раз, когда вы создаете новый объект. Метод-конструктор PHP __construct() – это именно то, что вы ищете. Когда вы включаете этот метод в один из ваших классов, он будет автоматически вызываться всякий раз, когда этот класс используется для создания экземпляра нового объекта.

Благодаря этой возможности метод __construct() часто используется разработчиками PHP для вызова всего того, что может понадобиться объекту перед его использованием. Метод также поддерживает параметры, и если они вам нужны, вы можете включить их в конструктор. Это позволит объекту принимать значения при его создании.

Учтите, что вы не можете использовать несколько методов __construct() с разным набором параметров. Если вы хотите, чтобы какой-то объект вел себя по-разному, например, в зависимости от параметров, вы должны обрабатывать эту логику внутри одного и того же метода __construct().

А теперь рассмотрим простой пример. Создадим новый класс под названием Chelovek. У него будут некоторые открытые свойства и метод конструктора. Метод __construct() примет эти свойства в качестве параметров, инициализирует их и выведет простое сообщение. Затем мы будем использовать этот класс для создания экземпляра нового объекта с именем $ivan. Как вы увидите, сообщение с указанным методом __construct() сразу появится.

<?php
// класс Chelovek с базовым примером метода __construct()
class Chelovek {
 public $vozrast;
 public $imya;
 public function __construct($imya, $vozrast) {
  $this->vozrast = $vozrast;
  $this->imya = $imya;
  echo "Создан новый экземпляр класса Chelovek";
 }
}
$ivan = new Chelovek("Иван", 25);
?>

 

 

Свойства метода __construct() по умолчанию

Представьте, что у вас есть свойство, которое должно быть по умолчанию для класса Chelovek. Допустим, что это возраст совершеннолетия. Если не указано другое – будет приниматься это свойство по умолчанию. Как это может выглядеть в PHP?

<?php
class Chelovek {
 public $vozrast;
 // в методе __construct устанавливаем возраст по умолчанию
 public function __construct( $vozrast = 18 ) {
  $this->vozrast = $vozrast;
 }
}
$stepan = new Chelovek; // у Степана будет дефолтный возраст – 18
$ivan = new Chelovek( 25 ); // а здесь мы переписываем дефолтное значение
?>

 

 

 

Класс деструктор

Помимо конструктора класса, существует также деструктор класса. Это деструкторный метод __destruct(). Этот метод вызывается автоматически при уничтожении объекта. Вы также можете явно вызвать метод деструктора. Для этого вы можете использовать функцию unset(). Хорошее применение деструкторам – выполнение определенных задач по завершении жизненного цикла объекта, таких как освобождение ресурсов, запись файлов лога, закрытие соединения с базой данных и т.д.

<?php
// класс Chelovek с базовым примером метода __destruct()
class Chelovek {
 public function __destruct() {
  echo "Экземпляр класса Chelovek был уничтожен";
 }
}
$ivan = new Chelovek("Иван", 25);
// или
unset($ivan);
?>

 

 

 

Recent Posts

Прокси для соцсетей и Facebook — Как избежать бана аккаунтов

Представьте, что вас внесли в черный список элитного клуба. Если вы подойдете к фейс-контролю лично…

2 дня ago

Антидетект-браузеры для начинающих: что это такое и как совместить с прокси

Анонимность и разделение аккаунтов является базовой потребностью для сотрудников, занимающихся арбитражем трафика, SMM или мультиаккаунтингом.…

3 недели ago

Когда точно пора сдать старый катализатор для выгодной продажи

Некоторые запчасти в автомобилях мы эксплуатируем до того момента, пока они полностью не выйдут из…

3 недели ago

Как онлайн-мониторинг цен конкурентов помогает бизнесу в 2026 году

В 2026 году конкуренция в e-commerce стала жесткой как никогда. Клиенты выбирают не только по…

1 месяц ago

5 аграрных ошибок, которые вредят урожаю, но о них редко говорят

Урожай чаще всего теряют не из-за аномальных изменений погоды, а из-за мелких решений, которые кажутся…

1 месяц ago

Музыкальные инструменты, история, классификация и роль в культуре человечества

Музыкальные инструменты сопровождают человечество на протяжении всей его истории. Они появились задолго до письменности и…

2 месяца ago