не знаю как вы, а я степень применимости/удобности фреймворка всегда определял после изучения его исходников, а не после прочтения отдельно взятого мануала
На самом деле там логика простая: есть бандлы (аналог модулей), при инициализации приложения они расширяют DI контейнер. Бандлы связываются только через DI — в основном полностью независимы — свои конфиги, MVC классы. Непонятно потому, что только альфа версия. 2 месяца назад обещали бету… решили не спешить в ущерб архитектуре. Ну и сам фреймворк сложнее.
Мне сейчас нужно будет сделать небольшой магазин — решил делать на Kohana 3.1, а реальные проекты на sf2 буду начинать после выпуска беты, а сейчас как раз время изучать исходники.
Имхо в данном случае цикл статей нужно начинать с краткого рассказа о конкретных компонентах / используемых технологиях, прежде чем переходить к общей архитектуре.
Многие не имеют малейшего понятия, что такое сервис, сервисный контейнер, Dependency Injection, никогда не использовали билд/компиляцию в пхп, не поймут что такое экстеншны и зачем нужны бандлы, спутают фронт-контроллер с mvc-контроллером, итд. Да что там далеко ходить, многие могли успешно писать на первой симфони, не имея понятия что такое неймспейсы или интерфейсы.
Из своего опыта объяснения симфони2 — рассказывать надо в последовательности Сервисы — Бандлы — Конфигурация — MVC — и только потом, как оно все умудряется работать вместе.
А продвинутые кодеры и сами разберутся с архитектурой, им объяснять надо преимущества на реальных задачах.
Спасибо за отзыв.
Материал, описанный в мануалах и других источниках, не хотел рассказывать осознанно. Поэтому статья скорее рассчитана на тех кто уже щупал или имеет желание разбираться (поэтому в статье довольно много ссылок). Да и вообще, хочется рассказывать о том, о чем не прочитаешь в других источниках.
Но все равно вам +.
Хоть и на офф.сайте документации предостаточно, тем не менее:
— Автор, продолжайте в том же духе.
— Хотелось бы увидеть статьи с примерами создания приложений(бандлов), примеры настройки кэша и тесты поедания памяти php и opcode cache'м
Приложение Symfony2 в разрезе