мм... вам я так понимаю нравится Yii или laravel4.... или pimple....
вместо конфигов, с которыми хоть как-то можно жить ...:
- писать тонны бойлерплейта
- завязать все компоненты фреймворка на контейнер и нарушить принцип ивенсии зависимостей
А как вам такой вариант:
Ммм... именно принцип сегрегации интерфейсов
, выделили вы D или так просто опечаталось)Да, опечатка :)
справедливости ради, в PHP нет такой вещи как "взять по типу", только строки. Так что все ок.
/**
* @property $session DBSession
*/
class AppContainer {
private $session;
function getSession() {
return $this->session;
}
}
$session = $container->getSession()
Аргументируйте
. Если у вас вообще будет реализовано через контейнер, то вы логику программы вынесите в конфиг что в РАЗЫ усложняет разбор кода и поддержки развёртывания приложения.
Ну Doctrine идет в symfony-standard-edition из коробки. Так что я считаю это частью фреймворка
. А что вы предлагаете использовать новичкам которые, как правило, даже ООП толком не знают?
Например по дефолту Symfony идет с не слишком удобным DiC, который, хоть и реально гибкий и крутой, заставляет разработчиков лениться при проектировании того же сервисного слоя (как правило им лень описывать на каждый чих новый севис и появляются убогие "Менеджеры".
Зато опять же из коробки Symfony идет с доктриной, которая обеспечивает persistence ignorance за счет использования Unit-of-work.Unit-Of-Work идёт с Doctrine, а не с Sf2. Doctrine не часть Sf2.
Разработчики знаете ли, могут с Symfony выкидывать лишнее и оставлять то что им нужно.Ну вот разве что это только можно поставить в плюс. Только слишком много нужно выкидывать. Да, как я и писал DiC реализован не правильно. Нельзя получать сервис по текстовой строчке. Это сводится к использованию глобальных переменных.
Это же не паттерны. Это принципы для разработки в парадигме ООП.
GRASP - херня некого масштаба ни коим образом математически не доказана в отличие от SOLID. Хотя там тоже не все доказано математически, но хоть какие-никакие научные исследования произведены с доказательством адекватности.