Ну, в моем случае побочный эффект - это "скрытое создание" необъявленной переменной после использование этой функции. А пример из PHP7 не распространяется на более ранние версии.
В целом я согласен, что нативный код проще отслеживать, просто иногда излишнее нагромождение проверками ухудшает читабельность остального кода.
$rules => [
'/serial/' => '/serial/category/oneserial'
];
Начальный слеш точно определит, что serial это модуль, а не действие. Параметр ID передастся в actionOneserial($id);
25 строка оригинального файла Yii.php содержит лишь: spl_autoload_register(['Yii', 'autoload'], true, true);
Поэтому я предположил, что ошибка парсинга может быть только из-за короткого объявления массива.
Я так понимаю, (new NewsSearch)->formName().'[category_id]' превратится в Html::getAttributeName(new NewsSearch(), 'category_id'); Таки да, не удобнее, хотя правильнее в плане предназначения. Спасибо, забыл про этот хелпер.
Вы не правильно меня поняли. Если необходимо условие WHERE, то от него не избавишься. Но ваша колбаса, насколько я понимаю, может быть превращена в WHERE (`bases`.`update_id` <= 686 OR `bases`.`update_id` >= 235 OR `bases`.`update_id` IN (165, 207)).
Вроде разобрался, что в enviroment делаем копию frontend и меняем название на нужное нам. Внутри меняем параметры - это все для первичной инициализации. А вот в папке tests уже посложнее, там названия констант даже идет с FRONTEND/BACKEND. Спасибо. Буду думать в этом направлении!