Курс предназначен для тех, кто:
- Уже умеет кодить на PHP в процедурном стиле
- Не знает ООП или чувствует, что оно вызывает ужас
- Хочет понять смысл ООП и изучить его главные темы.
Какая версия PHP используется?
- Формально мы пишем на PHP 8. Но для понимания ООП это вообще не важно, нас интересует классическая база ООП, а не различия и новшества версий.
Будет ли рассмотрен Composer?
- Конечно, но только основы. После того как мы порадуемся автозагрузке классов станет понятно, что для сторонних библиотек нужен волшебный помощник.
А где же docker?
- Максимально далеко. Курс направлен на понимание ООП, а не на изучение прикладных инструментов, какими бы крутыми они не были. Xammp или OpenServer пока что хватит на 100%.
ООП будет изучено на 100%?
- Пожалейте свой мозг, если в него за 8 уроков загрузить все темы объектно-ориентированного программирования, он просто лопнет. Изучаем самое важное и практически полезное.
Программа курса
Урок #1
- Базовые понятия ООП
- Классы и объекты, поля и методы
- Модификаторы доступа
- Наследование классов
- Инкапсуляция, полиморфизм
Урок #2
- Статические методы и поля
- Магические методы
- Абстрактные классы
- Интерфейсы
- Пространства имён
Урок #3
- Механизм исключений
- Try, catch, finally
- Автозагрузка классов
- Классы как типы данных
- Паттерны и антипаттерны: «singleton»
Урок #4
- Практическое применение ООП
- Архитектура фреймворка-велосипеда
- Контроллеры и модели
- Вспомогательные классы
- Паттерн «builder» для sql-запросов
Урок #5
- Улучшение фреймворка-велосипеда
- Роутинг
- Обработка ошибок
- Магия базовой модели
- Прослойка для работы с БД
Урок #6
- Улучшение фреймворка-велосипеда
- Класс валидации
- Модуль авторизации
- Внешние зависимости
- Основы работы с composer
Урок #7
- В реальном мире всё не так
- Тестируемость и гибкость кода
- Inversion of Control
- Dependency injection
- Проблемы DI для новичков
Урок #8
- Примеры паттернов проектирования
- Наблюдатель
- Адаптер
- DI-магия фреймворков на словах
- Интерфейсы, IoC + reflectio










