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); ?>
Представьте, что у вас есть свойство, которое должно быть по умолчанию для класса 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); ?>
Содержание статьи Введение: почему цены решают все Что значит сравнение цен с конкурентами 5 причин,…
В последние годы интерес к саунам в Киеве заметно вырос. Это связано не только с…
В современном ритме мегаполиса отдых стал неотъемлемой частью заботы о здоровье и эмоциональном состоянии. Особенно…
В современном мире цифрового маркетинга Facebook (Meta) остается одной из самых мощных платформ для продвижения…
Этот прибор стал незаменимым элементом арсенала представителей множества профессий, но особенно актуален среди военных. Тепловизор…
Постоянный поток новостей, рабочих задач и личных забот часто приводит к тому, что в голове…