ООП – Класи і об’єкти
17.04.2022Класи
Клас є одним із типів даних. Кожне визначення класу починається з ключового слова class, потім слідує ім’я класу, пара фігурних дужок, всередині яких можна визначати властивості та методи цього класу.
Ім’ям класу може бути будь-яке слово, за умови, що воно не входить до списку зарезервованих слів PHP, починається з літери або символу підкреслення і за яким слідує будь-яка кількість літер, цифр або символів підкреслення.
<?php
class MyClass
{
...
}
?>
Об’єкти
Для створення екземпляра (об’єкта) класу використовується директива new.
Приклад створення об`єкту:
<?php
$instance = new MyClass();
// З допомогою змінної:
$className = 'MyClass';
$instance = new $className(); // MyClass()
?>
Конструктори \ деструктори
PHP дозволяє оголошувати методи-конструктори. Класи, у яких оголошено метод-конструктор, викликатимуть цей метод за кожного створення нового об’єкта.
function __construct(mixed $args = "") { // параметри
...
}
<?php
class MyClass
{
function __construct($hello = "hi") {
return $hello;
}
}
$instance = new MyClass(); // поверне рядок "hi"
$instance = new MyClass("hello"); // поверне рядок "hello"
?>
Також, у PHP представлені деструктори. Деструктор буде викликаний у разі звільнення всіх посилань на певний об’єкт або при завершенні скрипту (порядок виконання деструкторів не гарантується).
<?php
class MyClass
{
function __destruct() {
echo "Виклик деструктора";
}
}
?>