Класи


Клас є одним з типів даних. Кожне визначення класу починається з ключового слова class, потім слід ім’я класу, пара фігурних дужок, всередині яких можна визначати властивості і методи (буде розглянуто) цього класу.

Іменем класу може бути будь-яке слово, за умови, що воно не входить до списку зарезервованих слів PHP, починається з літери або символу підкреслення і за яким слідує будь-яка кількість букв, цифр або символів підкреслення.

<?php
class FirstClass
{
     ...
}
?>

Об’єкти

Для створення екземпляра (об’єкта) класу використовується директива new.

Приклад створення об’єкта:

<?php
$instance = new FirstClass();

// Це можна зробити і з допомогою змінної
$className = 'FirstClass';
$instance = new $className(); // FirstClass()
?>

Конструктори \ деструктори

PHP дозволяє оголошувати методи – конструктори. Класи, в яких оголошений метод – конструктор, будуть викликати цей метод при кожному створенні нового об’єкта.

Синтаксис:

function __construct(mixed $args = "") { // можна передавати параметри
     ...
}

Використання:

<?php
class FirstClass
{
     function __construct($hello = "hi") {
          return $hello;
     }
}

$instance = new FirstClass(); // поверне рядок "hi"
$instance = new FirstClass("hello"); // поверне рядок "hello"
?>

Також, в PHP представлені деструктори. Деструктор буде викликаний при звільненні всіх посилань на певний об’єкт або при завершенні скрипта (порядок виконання деструкторів не гарантується).

Наприклад:

<?php
class FirstClass
{
     function __destruct() {
          echo "Виклик деструктора";
     }
}
?>