насколько удобно поддерживать проекты с Yii, их увлечение магическими строками, статическими вызовами и AR в контроллерах меня пугает. При разработке это удобно, а вот доработка и поддержка....
Это не магические строки, а соглашения. Везде одно и то же, как reserved words в языке, и все в автокомплите.
В моем проекте люди с другого фреймворка и drupal перешли и начали писать в yii за неделю-две - с моей помощью, конечно.
Проблемы могут быть с поведениями и событиями, которые на лету меняют объекты, и когда нарушается архитектура - например, по началу в одну модель любят засунуть работу со множеством таблиц.
AmdY
может расскажет нам чуть подробней что именно будет про связи MANY_MANY в AR?
Лучше в отдельной теме. Тема по сути вызвана тем, что большинство кодеров пишут это неправильно.
fixxxer
Yii на мой взгляд требует серьезной доработки в плане view
Это не написано в доке (там и половины не написано), но официально
в yii нет view для фронта.
Есть только генераторы и набор хелперов для админки. Одна из обсуждаемых тем yiiconf - "как убить сайт виджетами" - т.е. этими штуками, которые тебя пугают
справедливости ради замечу что прикрутить twig или smarty3 несложно
у меня опыт со смарти личный, работает хорошо и прозрачно, интеграция через конфиг, причем, можно использовать виджеты yii в smarty (в основном нужен ActiveForm, который кривой, но интегрирован с моделью и простые формы делаются за минуты)
С моделями тоже легко получаются только простые вещи, вида один объект - одна таблица, но это наверное везде.
Не только. Самое удобное - связи и вызовы вида $Comment->post->author->name
покажи мне код, делающий обновление связки N:M на "прописанных правильно связях"
я видел только сторонний плагин с откровенным говнокодом
их 3, какой из них ты смотрел? посмотри withrelated
AR - это не Table Data Gateway.
> Объект является "обёрткой" одной строки из БД -
http://design-pattern.ru/patterns/active-record.html
По сути, это проблема архитектуры: сейчас данные хранятся в модели, и написать оптимизированный обработчик для массива записей довольно сложно (я пытался).
В yii2 будет решаться через разделения модели, контейнера данных и исполнителя запросов.