Программирование

Завершающий урок серии скринкастов по изучению PSR-7 микрофреймворков в PHP. Добавляем поддержку написания консольных команд, добавляем работу с базами данных с помощью PDO и готовых ORM, оптимизируем запросы

Шестой урок серии скринкастов по изучению PSR-7 микрофреймворков в PHP. Обновляем фреймворк под принятый PSR-15, дорабатываем вывод ошибок в продакшене и в режиме отладки, изучаем композицию вместо наследования и внедряем логирование.

Пятый урок серии скринкастов по изучению PSR-7 микрофреймворков в PHP. Пишем свой шаблонизатор с наследованием шаблонов через систему блоков и изучаем работу существующих.

Четвёртый урок серии скринкастов по изучению PSR-7 микрофреймворков в PHP. Разрабатываем систему управления конфигурацией приложения и автоматизируем внедрение зависимых объектов и параметров в сервисы.

Третий урок серии скринкастов по изучению PSR-7 микрофреймворков в PHP. Сегодня рассмотрим крайне полезную тему реализации промежуточного слоя посредников Middleware поверх контроллеров и написания трубопровода Pipeline для их вызова.

Второй урок серии скринкастов по изучению PSR-7 микрофреймворков в PHP. Сегодня рассмотрим разделение на страницы и разделы сайта путём создания контроллеров и сопутствующей системы маршрутизации.

Первый урок серии скринкастов по изучению PSR-7 микрофреймворков в PHP. Сегодня рассмотрим создание структуры директорий, написание объектов для взаимодействия с HTTP-протоколом и их тестирование с помощью PHPUnit.

При разработке с отделением моделей форм от доменных сущностей (чему мы посвятили недавний цикл статей) поначалу возникает неудобство копирования повторяющихся полей из формы в форму. В одном из уроков мастер-класса мы познакомились с одним из решений этого вопроса. Рассмотрим тот код и оформим его в самодостаточное публичное расширение.

В этом цикле статей мы уже разобрались с проектированием сущностей, спрограммировали свой собственный репозиторий и изучили использование Doctrine ORM. В этот раз завершим эксперимент и узнаем, можно ли с минимальным ущербом подружить нетривиальный класс доменной сущности с ActiveRecord ORM проекта на Yii2.

В прошлый раз мы вручную изготовили работающий репозиторий для сохранения доменных сущностей, чтобы более-менее узнать, как работают изнутри различные ORM. В этот раз на основе прошлого опыта рассмотрим готовую библиотеку Doctrine ORM и попробуем интегрировать её в наш проект на Yii2.