Функция __construct()
Конструктор — это специальный метод с именем __construct(). PHP автоматически запускает его каждый раз, когда вы создаёте новый объект класса с помощью ключевого слова new.
Он может принимать аргументы, которые вы передаёте в момент создания объекта, как в $apple = new Fruit("Apple", "Red");. Так каждый объект сразу получает собственные значения, а вы пишете меньше кода.
Обратите внимание на имя: оно начинается с двух символов подчёркивания (__).
В следующем примере свойства заполняет __construct(). Поскольку PHP вызывает его за нас, отдельный вызов метода set_details() не нужен, и код становится короче:
Пример конструктора
Задайте свойства объекта при его создании с помощью __construct():
Вывод: PHP-скрипт
<?php
class Fruit {
public $name;
public $color;
function __construct($name, $color) {
$this->name = $name;
$this->color = $color;
}
function get_details() {
echo "Название: " . $this->name . ". Цвет: " . $this->color .".<br>";
}
}
$apple = new Fruit('Apple', 'Red');
$apple->get_details();
$banana = new Fruit('Banana', 'Yellow');
$banana->get_details();
?>
Разбор примера
В классе Fruit объявлены два свойства: $name и $color.
Всякий раз, когда появляется новый объект Fruit, __construct() сохраняет полученные значения в этих свойствах.
Задача метода get_details() — вывести название и цвет фрукта.
Строка, создающая $apple, передаёт конструктору значения «Apple» и «Red», а строка, создающая $banana, делает то же самое со значениями «Banana» и «Yellow».
Наконец, вызов get_details() для каждого из двух объектов выводит данные соответствующего фрукта.