в Вашем вопросе нет конкретики, приведите код и опишите детальнее проблему. Сейчас вообще не понятно за какие ифы вы говорите, как осуществляете изменение полей и т.п.
Padre, ну тут два вариант:
1. Либо у Вас модель наследуется не от ActiveRecord
2. Либо нужно использовать позднее статическое связывание (т.е. заменить self на static)
более подробно сказать не могу нужно смотреть код модели
Vasiliy_M, 90% на каких-нибудь pet-проектах которые живут себе мирно на протяжении многих лет и которые никто не трогает - возможно. На серьезных проектах - нужно использовать абстракции, иначе проект может и не пережить следующие изменения, точнее понимать где использовать абстракции, а где можно и без них обойтись.
Vasiliy_M, то что в объекте есть агрегация еще не говорит о том что код не связан. Этот код ЗАВЯЗАН на конкретную реализацию объектов - а значит и связанность их высока.
По моему Вы сильно все усложнили: виджеты, разбор GET и т.п. Есть какие-то объективные причины для такого усложнения? Если причин нет, тогда стоит прислушаться к slo_nik
кстати все — Д.Елисеев уходит от Yii2, разочаровался, делал-делал из него Симфони в своих уроках и решил уже всех тащить к хорошему коду на Симфони
Не смотря на то что Yii действительно в профессиональном плане потерян, все таки не стоит из Yii делать Symfony, да и сравнивать их не совсем уместно - у этих фреймворков разные назначения. Yii - это RAD-фреймворк и его первоначальная задача это быстрое создание приложения. Он с этой задачей справляется и развивается в соответствии с ней. Просто инструмент нужно выбирать в соответствии с целями проекта. Если необходимо сделать быстро простенькое приложение или MVP-проект - yii вполне подойдет. Если же нужно делать серьезный проект, который будет жить долго - тогда лучше выбрать Symfony.