Учебник по ООП в PHP8
Основы
Введение
Классы и объекты
Свойства
Методы
Параметры методов
Свойства внутри классов
Методы внутри классов
Конструктор
Свойства через параметры конструктора
Приватные свойства
Приватные методы
Геттеры свойств
Сеттеры свойств
Преимущества сеттеров и геттеров
Продвинутое
Файлы классов
Цепочки методов в классе
Класс как набор методов
Массивы объектов
Объекты внутри классов
Оператор безопасного извлечения
Оператор безопасного извлечения в цепочках
Манипуляция объектами в классах
Передача по ссылке
Оператор instanceof
Наследование
Наследование классов
Наследование публичных методов
Методы потомка
Переопределение методов родителя
Вызов переопределенного метода
Конструктор при наследовании
Приватные методы при наследовании
Приватные свойства при наследовании
Проблема приватных свойств при наследовании
Защищенные методы
Защищенные свойства
Оператор instanceof и наследование
Вызовы
Имя свойства из переменной
Имя свойства из массива
Имя свойства из ассоциативного массива
Имя свойства из функции
Имя свойства из объекта
Метод из переменной
Вызов после создания
Static
Статические методы
Статические методы внутри класса
Статические свойства
Статическое свойство внутри класса
Обращение через класс и объект
Комбинация со static
Статические методы и $this
Пример
Функции
Получение имени класса
Получение методов класса
Получение свойств класса
Получение свойств объекта
Проверка существования класса
Проверка существования метода
Проверка существования свойства
Получение родительского класса
Проверка наследования класса
Проверка принадлежности объекта
Получение всех объявленных классов
Abstract
Интерфейсы
Введение в интерфейсы
Практика на применение интерфейсов
Правила именования интерфейсов
Применение интерфейсов
Параметры методов в интерфейсе
Объявление конструктора в интерфейсе
Наследование интерфейсов друг от друга
Интерфейсы и instanceof
Реализация нескольких интерфейсов
Наследование от класса и реализация интерфейса
Константы в интерфейсах
Функции для интерфейсов
Трейты
Введение в трейты
Несколько трейтов
Конфликты методов
Модификаторы доступа
Изменения прав доступа к методам трейта
Приоритет методов
Абстрактные методы
Трейты в трейтах
Функции для трейтов
Магия
Введение
Метод __toString
Получение свойств
Свойства только для чтения
Чтение несуществующего свойства
Установка свойств
Запись несуществующего свойства
Проверка свойств при записи
Практика
Пространства имен и автозагрузка
Введение в пространства имен
Синтаксис пространств имен
Подпространства имен
Упрощенное обращение
Пространства имен в файлах
Относительные пути в пространстве имен
Команда use
Подключение нескольких классов
Команда use и относительные пути
Псевдонимы классов
Стандартная автозагрузка классов
Правила автозагрузки
Своя автозагрузка классов