Советы PHP-разработчика

Блог содержащий короткие заметки касающиеся программирования для web.

Записи с тегом Yii2

Исправляем ошибки phpstan после обновления Yii2 до 2.0.53

Лучшие практики работы с dropDownList в Yii framework 2

Начиная с версии 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

  • 2025-12-02 19:48:42
читать далее

Docker завершает остановку PHP контейнера с ошибкой Exited (137) для `yii queue/listen`

Разрыв коннекта с ошибкой packet_write_wait: Connection to xxx port 22: Broken pipe

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

  • 2025-12-02 09:46:59
читать далее

Автоматическая валидации кода на соответствие стандартам (Yii2) через PHP_CodeSniffer

Автоматическая валидации кода на соответствие стандартам (Yii2) через PHP_CodeSniffer

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

  • 2016-08-22 22:14:46
читать далее

Пример организации интернационализации через Yii::t для расширения на Yii2

Пример организации интернационализации через Yii::t для расширения на Yii2

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

  • 2016-07-16 18:47:21
читать далее

Yii framework 2. Как определить были ли запросы к базе данных

Yii framework 2. Как определить были ли запросы к базе данных

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

  • 2016-07-16 17:40:30
читать далее

GridView в Yii2. Простой и наглядный пример использования

GridView в Yii2. Простой и наглядный пример использования

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

  • 2016-05-25 21:42:51
читать далее

Почему лучше использовать ::class вместо ::className() в Yii framework 2

Почему лучше использовать ::class вместо ::className() в Yii framework 2

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

  • 2016-05-19 18:22:14
читать далее

Переопределение классов в Yii2 через автолоадер yii framework

Переопределение классов в Yii2 через автолоадер yii framework

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

  • 2016-05-15 19:01:35
читать далее