… Сказал Фабиен Потенсье:
А зачем мне это надо – свой фреймворк?
Почему вам может захотеться создать ваш собственный фреймворк? Если вы оглядитесь вокруг – все будут вам говорить, что не стоит изобретать колесо, что вам лучше выбрать фреймворк из существующих и забыть про создание чего-то своего. И таки да, в основном они все правы, но я хочу вам предложить несколько причин, по котором стоит заняться созданием своего фреймворка. Итак, я хочу создать свой фреймворк чтобы:
- Изучить низкоуровневую архитектуру современных web-фреймворков в общем и о Symfony2 в частности;
- Создать фреймворк для некоторой особенной задачи (просто удостоверьтесь заранее, что ваша задача действительно особенная);
- Провести эксперимент для удовольствия (метод учись-и-пробуй);
- Провести рефакторинг старого/существующего приложения, которому нужен большой глоток современных практик web-разработки;
- Доказать всем, что вы можете самостоятельно создать фреймворк (… ну может только слегка напрягшись)).
UPDATE1: вторая часть статьи (работаем с компонентом Symfony2 HttpFoundation)
UPDATE2: третья часть статьи (Request & Response в действии)
UPDATE3: четвёртая часть статьи (подключаем Routing)
Шикарный цикл статей от Фабьена. Кстати, он его закончил 🙂
Не пробовал собрать по его советам что-нибудь?
Дмитрий,
думаю, Вы в курсе – 26-29.09 в Сан-Франциско состоится конференция по Symfony. Вопрос: Как Вы считаете, сможет ли Symfony2 выйти на уровень Друпала, в котором уже используются компоненты Symfony.
Сергей, по-моему напрямую сравнивать Drupal и Symfony 2 совершенно некорректно. Как вы заметили в своём вопросе, компоненты Symfony используются в Drupal 8й версии (во всяком случае я точно читал о намерении интегрировать HttpFoundation и ещё несколько). То есть, Symfony это фреймворк, каркас. А Drupal это CMS, система управления контентом. Из сравнимых разработок на Symfony, есть пожалуй только cmf.symfony.com, хотя и эта разработка более низкоуровневая (не является end-user ready, изначально рассчитанная на кастомную разработку). Так что я думаю проникновение компонент Symfony в другие проекты, это хорошо, но сравнивать их нельзя, так как у них разные области применимости.
Если же рассматривать внедрение компонент в Drupal как попытку оптимизировать релизную политику или стабилизировать API, то наверное это не выход, лишь куча рефакторинга и новых багов ) имхо.