- Главная
- Блог
- Yii2
Записи с тегом Yii2

Начиная с версии 2.0.53 в Yii framework добавили дженерики в описание некоторых классов. Это приводит к ошибкам phpstan вида: Method app\controllers\TestController::beforeAction() has parameter $action with generic class yii\base\Action but does not specify its types: T

Есть сайт на Yii framework 2 в docker и отдельный контейнер с php-cli, который запускает php yii queue/listen, слушает очередь и выполняет фоновые задачи. При выполнение docker container stop CONTAINER_NAME остановка завершается с кодом ошибки 137.

Сегодня хочу рассказать про некоторые фишки и распространенные ошибки при работе с dropDownList в Yii2.

Стандарты кодирования - это не просто перфикционизм. Их соблюдение помогает превращает ваш код в удобочитаемый, привносит упорядоченность туда, где еще недавно царил хаос, а это в свою очередь облегчает понимание кода и местами избавляет от ошибок. Тестирование, конечно, это не заменит, но привнесет ясности в ваш код. Об этом и поговорим...

При написании более-менее серьезного расширения каждый разработчик должен задуматься на тему удобстве его использования другими. Это относится не только к удобству использования кода, интерфейса, но и понятного языка этого самого интерфейса. Поэтому хочу поделиться с вами одним из вариантов организации интернационализации расширения на yii framework 2.

Не так давно писал тесты для одного приложения на Yii2 и возникла необходимость проверить, что, в результате работы метода, данные возвращаются из identity map, а не из базы данных. Задача оказалась достаточно тривиальной, но, все же, поделюсь своим решением.

Что же это за зверь такой? GridView - виджет позволяющий отображать данные полученные из DataProvider в виде таблице и управляющие элементы сортировки, фильтрации и пагинации. А теперь к примерам. А теперь к практике...

Как все мы знаем, одной из отличительных особенностей в Yii2 (по сравнению с первой версией) является использование пространства имен. В связи с этим в класс yii\base\Object был добавлен статичный метод className(). О нем и поговорим.

Данный прием можно охарактеризовать, как "грязный хак", но иногда он бывает чрезвычайно полезен. Например, когда изменить работу стороннего класса, который много где используется (в том числе, в библеотеках третьих лиц).

Иногда бывает необходимость удалить все таблицы из БД. Например, это может понадобиться перед выполнением тестов. Вот мое решение данной ситуации.