Max: добавил пример и жирное пояснение. Если что-то будет не понятно, пишите. Вопрос поднимается относительно часто и мне что-то как-то надоело это объяснять по чуть чуть так что...
Max: данные приходят в контроллер, контроллер это дело адаптирует для view, view видит что пришли данные (ангуляр это делает через дата биндинг) и реагирует под ваше описание (то что у вас в шаблонах, директивы и прочее). Когда пользователь кликает что-то или выбирает другой вариант фильтрации товаров, view уведомляет об этом контроллер. Тот просит сервисы дать данных под новые условия и цикл повторяется. По сути это старый добрый MVC. Именно так мы получаем весьма гибкую архитектуру.
littleguga: пол года назад у них еще небыло этого, если что. Во всяком случае я только из этого вопроса узнал что они теперь предлагают такое решение.
Для меня gitlab представляет ценность только в том виде, что я могу поставить его на своих серваках и отрезать от интернетов. А для всего остального есть гитхабы/битбакеты.
1) Если вам все это нужно значит вы нарушили принцип единой ответственности. Вы можете объеденить все что связано с нотификациями в один сервис, еще какие-то вещи - в другой... Если у вас много зависимостей у объекта это повод задуматься
2) Модели никогда не инджектятся, это данные с которыми вы работаете, а не сервисы. Инджектятся репозитории
4) Контроллеры не надо покрывать юнит тестами, это долго дорого и глупо. Лучше покрыть это дело функциональными/ui тестами.
5) Я без понятия как можно покрыть юнит тестами модель Active Record, много копий уже поломано, но по сути если вы хотите покрывать вашу бизнес логику юнит тестами то тут лучше подходит data mapper, а именно Doctrine (к сожалению кроме доктрины больше ничего толкового и нет). Все остальные подходы так же нацелены на то, что бы устранить зависимости от ORM в рамках бизнес логики, то есть "модели" AR становятся DTO между бизнес логикой и базой данных. Так же добавляют репозитории и т.д. А если так делать то толку от AR ровным счетом ноль, только мэппинг да таблички.
OnYourLips: ну меня радует что в 5-ом ларавеле выпилили эту ужасную статику из ядра... теперь можно делать дела нормально, но всеравно останусь на Symfony... Альтернатива Symfony для меня только одна - использование отдельных компонентов, но я не большой фанат пилить бойлерплейт.
xmoonlight: для меня архитектура залог быстродействия, и в случае CI архитектуры там никакой нет.
где пишутся отзывы о фреймворках, в том числе и о малоизвестных/новых...
зачем вам малоизвестные/новые фреймворки то? Делать плохо людям которые будут поддерживать потом проект? Но в целом это дело можно спокойно мониторить на реддите.
было бы интересно еще сравнить silex + php-pm или symfony + php-pm. Ну и да, помимо быстродействия, лично для меня важнее:
- комьюнити (код игнайтер мертв, как не крути, да и комьюнити оставляет желать лучшего)
- поддерживаемость (тут пока лидируют symfony и zend, в принципе Laravel5 тоже норм)
- скорость разработки (Laravel тут во главе угла...)