Удаление записей в Yii2 при помощи метода deleteAll и условии not in выглядит не очень очевидным и столкнувшись с этой задачей, решил написать короткую заметку с примером реализации. Секрет в том, что условие надо задавать в виде массива. Приведу пример: Этот пример сгенерирует следующий запрос (при входящих данных, например $id…

В статье речь пойдет о расширении kato/DropZone (https://github.com/perminder-klair/yii2-dropzone) — точнее о том, как разместить несколько виджетов на одной странице. Если взглянуть на исходный код — ответ кажется достаточно очевидным, но, все же считаю нужным показать рабочий пример размещения нескольких виджетов на одной странице. Итак, вне зависимости от Вашей разметки —…

Ситуация, когда надо перед действием проверить какую-то логику и при необходимости сделать редирект достаточно частая. Но решение здесь не очень очевидное — поэтому приведу пример. Ниже пример редиректа в методе beforeAction: Нас интересует второе условие. Особенность в том, что, в отличие от обычного контроллера, в beforeAction нужно не делать return…

Сегодня столкнулся с ситуацией, когда в случае переопределенного beforeAction не срабатывали правила доступа accessControl. Проблему быстро решил, но думаю я не один, кто с ней сталкивался — поэтому напишу решение. Итак, мой метод имел следующий вид: Пока пользователь был авторизован — всё было хорошо, но когда сессия истекла — получили…

В этой короткой статье разберем типичную ситуацию, когда в зависимости от определенных условий в методе beforeAction нужно сделать редирект на другой адрес. По сути, всё очень просто, но может не до конца очевидно. Суть в том, что метод должен при условии редиректа возвращать true, а не false, как могло бы…

При работе с RBAC в Yii2 может быть необходимость закрыть все action из контроллера по определенным правилам, но при этом несколько из них все-таки следует оставить открытыми или, например, закрыть по другим правилам. В этой статье пример решения проблемы. Ниже приведу метод behaviors() из контроллера: Давайте ещё раз. Первое правило…

Работа с очередью — важнейший момент, позволяющий сделать приложение и его работу более простой и быстрой, а саму архитектуру более понятной и распределенной. В этой статье пример работы с расширением yii2-queue, т.е. работой с очередями в Yii2. Работа с очередью может быть использована при всех времязатратных операциях, а также работе…

Бывают случаи, когда надо быстро создать виртуальный хост на сервере, но, к примеру, сервер чистый и рабочих примеров под рукой нет, а копия default-000.conf упорно не хочет работать. Сейчас я приведу рабочий пример обычнейшего виртуального хоста для быстрого копипаста к Вам на сервер. К примеру, Вам нужно создать виртуальный хост…

Правильная настройка htaccess — частая проблема при настрйоке нового приложения. В этой статье — пример рабочего htaccess для yii2-basic шаблона. Итак, для правильной настройки Вам потребуется выполнить несколько несложных шагов. 1. Настраиваем корневой htaccess. Он должен лежать в корне Вашего приложения — грубо говоря — там, где лежит composer.json. Обратите…

Работа с RBAC в Yii2 вызывает немало вопросов — один из них — как удалить все права для пользователя, например, для их обновления или же при удалении записи юзера. В этой статье — пример очистки списка прав RBAC для пользователя. Итак, всё пердельно просто. Представим ситуацию, когда нам нужно обновить…