Что такое методы __construct() и __destruct() в PHP?
Конструктор — это концепция ООП в PHP. Это метод с тем же именем, что и имя класса. Он определен внутри класса и используется для автоматического вызова при создании объекта.
PHP4 предоставляет метод конструктора, тогда как PHP5 предоставляет магический метод __construct и __destruct. Этот метод вызывается автоматически при создании или уничтожении объекта. Эта функция всегда начинается с двух знаков подчеркивания.
Метод __construct(): __construct — это общедоступный магический метод, который используется для создания и инициализации объекта класса. __construct присваивает значения некоторых свойств при создании объекта. Этот метод вызывается автоматически при создании объекта.
Характеристики:
- __construct — это публичный магический метод.
- __construct — это метод, который должен быть общедоступным.
- Метод __construct может принимать один и более аргументов.
- Метод __construct используется для создания объекта.
- Метод __construct может вызывать метод или функции класса
- Метод __construct также может вызывать конструкторы других классов.
Конструктор инициализирует свойства класса во время создания объекта. Метод __construct() будет вызываться только один раз при создании объекта класса.
Синтаксис:
$object_name= new class_name (argument value);
Пример:
$subject=new computer(“English”);
Синтаксис:
function __construct() { // Initialize the object properties }
Подход:
- Конструктор по умолчанию: по умолчанию метод __construct() не имеет параметров. Значения, переданные конструктору по умолчанию, являются значениями по умолчанию.
- Параметризованный конструктор: В параметризованном конструкторе метод __construct() принимает один и более параметров. Вы можете указать различные значения параметров.
- Конструктор копирования: в конструкторе копирования метод __construct() принимает в качестве параметра адрес других объектов.
Конструктор по умолчанию: в конструкторе по умолчанию метод __construct() не имеет параметров. Значения, переданные конструктору по умолчанию, являются значениями по умолчанию.
Пример: возьмем пример класса «студент», который будет отображать простое сообщение для этого класса. Мы определим конструктор без параметра.
Конструктор без параметра:
Выход:
This is __construct without parameter Welcome To GeeksforGeek
Конструктор с параметром:
Пример 2: Возьмем еще один пример класса «студент», у которого есть два свойства « имя » и « фамилия ». Для этого класса мы определим конструктор с параметром, который будет инициализировать свойства класса при создании объекта.
Выход:
My name is john Surname is biber
Деструктор PHP: Метод деструктора PHP используется для уничтожения объектов или освобождения их выделенной памяти. Деструктор вызывается автоматически при создании объекта. Обычно он вызывается в конце скрипта. Метод деструктора не принимает никаких аргументов, деструктор не возвращает никаких типов данных. Весь этот процесс обрабатывается сборщиком мусора.
Характеристики:
- Метод __destruct() не принимает никаких параметров.
- Метод __destruct() не будет иметь возвращаемого типа.
- Этот метод работает прямо противоположно методу __construct в PHP.
- __destruct вызывается автоматически в конце скрипта.
- Метод __destruct() начинается с двух знаков подчеркивания (__).
- Он используется для деинициализации существующих объектов.
Синтаксис:
function __destruct() { // Destroy objects or release memory. }
Пример:
Выход:
This is a constructer Object is initialized in constructer This is destruct Object is destroyed in destructer
Пример: Теперь давайте возьмем пример ученика «класса», у которого есть три свойства: «имя», «фамилия» и «любимый веб-сайт». Для этого класса мы определим конструктор с параметром, а деструктор уничтожит инициализированный объект.
Выход:
My name is John Surname is Biber My favorite website is Geeksforgeek Succesfully object Destroyed
Пример: давайте создадим класс «MyClass». В конструкторе мы определим новое свойство класса и уничтожим их в деструкторе.
Выход:
You are in constructor You are in destructor Just Destroyed MyClass Object
Вывод: в реальном мире конструкторы и деструкты очень полезны, поскольку они занимают место в памяти. Они позволяют повторно использовать код. В целом они очень полезны.