
DI-контейнер в Yii 2: как настроить правильно с первого раза
Разбираемся, как устроен контейнер зависимостей в Yii 2, чем set отличается от setSingleton и почему регистрация в компоненте приложения работает не так, как вы ожидаете.

Разбираемся, как устроен контейнер зависимостей в Yii 2, чем set отличается от setSingleton и почему регистрация в компоненте приложения работает не так, как вы ожидаете.

Разбор рабочих приёмов создания виджетов в Yii 2: где хранить класс, как отдавать данные в шаблон, когда наследовать InputWidget и чем платить за неправильную регистрацию ассетов.

Виджет в Yii 2 живёт дольше одного HTTP-запроса, если не следить за состоянием, ассетами и экранированием. Разбираем ошибки, из-за которых виджет ломается тихо и незаметно.

Виджет собирается за час, а потом ломает страницу лишними SQL-запросами и дублирует ассеты на каждой итерации цикла. Разбираем, что проверить перед тем, как выкатывать свой Widget в бой.

Как собрать модуль в Yii 2 из файлов, зарегистрировать его в конфигурации и заставить работать маршруты вида /admin/user/index — с реальной структурой каталогов и типичными ошибками bootstrap.

Как писать консольные контроллеры в Yii2 так, чтобы они не падали в cron, корректно возвращали код завершения и не жрали память на больших выборках.

Разбираем, как создать рабочую консольную команду в Yii 2: где лежит контроллер, как принять аргументы и опции, как запустить по расписанию и не наступить на типичные грабли.

Console-контроллеры в Yii 2 выглядят как обычные экшены, но ведут себя иначе: свой env, свои коды выхода, свои утечки памяти. Разбираем ошибки, из-за которых команда падает молча или роняет сервер по крону.

Кеш живёт до истечения TTL, а данные меняются раньше — и пользователь видит устаревшую страницу. Разбираем зависимости кеша в Yii2 и инвалидацию по тегам через TagDependency: когда что выбирать и где это ломается.

Три способа отдать данные из Yii2 наружу: ручной контроллер, встроенный ActiveController и надстройка GraphQL. Разбираем, что каждый выигрывает и чем за это платите.

ActiveController отдаёт всё поле модели, включая password_hash. Пагинация ломает фронтенд, а вложенные ресурсы плодят сотни запросов. Разбираем приёмы, которые спасают REST API на Yii2 в реальном проекте.

Yii2 умеет отдавать REST из коробки, но дефолтная конфигурация роняет вас в 500-е на первом же нестандартном роуте. Разбираем, где стоит доверять ActiveController, а где писать руками.