Boroda aka Hamster (fantaseour) wrote,
Boroda aka Hamster
fantaseour

Categories:

Компоненты Symfony

Развитие Фреймворка Simfony само по себе интересный и поучительный опыт. Это очень значимый проект.

Ведь почему у него был такой успех? Потому, что руководство по Symfony было в тоже время крайне понятной и лаконичной книжкой про то, как надо делать фреймворки и большие проекты вообще. Именно там наглядно было показано что такое MVC, ORM, Тесты, развертывание приложения, scaffolding. Можно было прочитать и многое для себя уяснить. Почувствовать паттерны в жизни.

Проект типа быстрый старт тоже был крайне забавный, и был изложен в виде 24-дневного марафона с инструкцией вида "сделай сам", проходился почти, как квест.

Вот что дает дуэт хорошего программиста и очень талантливого технического писателя.

Выход Симфони сразу сделал огромную армию CMS устаревшими. Ведь как бы хороша не была CMS, сделанная без нормальной архитектуры развивать ее дальше становилось все труднее и труднее. Понятно, что чтобы выжить нынешние системы должны будут переползти на новую архитектуру.

Теперь проект Симфони делает следующий шаг. Они разделяют фреймворк на компоненты, которые можно использовать независимо. И это очень важный момент. Конечно, можно сказать, "да это очевидно, что так надо делать". Однако Вы попробуйте из монолитного фреймворка что-то вынуть, чтобы можно было использовать независимо. Так делали в ezSystems, так делали и в LIMB. И то, что так делают в Symfony говорит о том, что они очень правильно развиваются и отличный ОО код позволяет им выделять компоненты.

Последний компонент касается крайне важного паттерна проектирования — Dependency Injection. Честно говоря, я много про него читал, но на практике не очень видел как применить, и теория была для меня довольно абстрактной. Симфонисты и здесь выдержали фирменный стиль. К компоненту приложена книжка, которая начинается с главы "что такое Dependency Injection"? И шаг за шагом некоторый учебный класс рефакторится в элегантное решение. Чтобы показать, что компонент может использоваться не только с Симфони, в качестве примеров используются и классы из Zend-фреймворка. Жалко только, что книжку нельзя скачать.

Вот еще один пример использования этого компонента с Zend-фреймворком.
Tags: development, php, symfony
Subscribe

  • (no subject)

    Я очень люблю конференции. Они зажигают в разработчике свечечку, которую он потом бережно несет в себе через весь год! Когда-то давно, я с завистью…

  • wordpress: php -> nodejs

    Хипстеры захватывают мир :) Не очень понятно, как этот переход отразится, на людях, которые ставят этот вордпресс на любой копеечный хостинг с…

  • ultimate php

    For those who asked how to get started testing PHP7. I have packaged up my dev environment in a Vagrant box: https://t.co/EOhyi17fPI— Rasmus…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 19 comments

  • (no subject)

    Я очень люблю конференции. Они зажигают в разработчике свечечку, которую он потом бережно несет в себе через весь год! Когда-то давно, я с завистью…

  • wordpress: php -> nodejs

    Хипстеры захватывают мир :) Не очень понятно, как этот переход отразится, на людях, которые ставят этот вордпресс на любой копеечный хостинг с…

  • ultimate php

    For those who asked how to get started testing PHP7. I have packaged up my dev environment in a Vagrant box: https://t.co/EOhyi17fPI— Rasmus…