Menu
Components Symfony – Composer autoload

Доброго времени суток, дорогие читатели!

Этим постом я начинаю цикл разбора компонентов Symfony2

И первым мне на пути попался Composer, а именно его реализация автозагрузчика

Если вам когда-нибудь было интересно как он работает, как хранит свои зависимости добро пожаловать под кат

Создание вашего собственного фрейморка… используя компоненты Symfony2 (Часть 12)

В последней части моей серии, мы опустошили класс Simplex\\Framework расширив его класс из Symfony HttpKernel. Смотря на этот пустой класс, вы возможно хотели бы перенести код из фронт-контроллера в него:

Создание вашего собственного фрейморка… используя компоненты Symfony2 (Часть 11)

Если вы используете наш фреймворк, вы наверно хотели бы добавить поддержку настройки отображения ошибок. Сейчас мы поддерживаем 404 и 500 ошибки, но они хардкорно забиты в коде. Сделать так, чтобы можно было настраивать их довольно легко: добавить новое событие и слушателя в диспетчер. Т.е. слушатель должен вызывать обычный контроллер. Но что если контроллер ошибок выбросит исключение? Будет зацикливание. Должен быть более простой способ, не так ли?

Создание вашего собственного фрейморка… используя компоненты Symfony2 (Часть 10)

В конце второй части этой серии я хотел бы поговорить о пользе использования компонентов Symfony2 – это совместимость между всеми фреймворками и приложениями, которые тоже их используют. Давайте сделаем большой шаг навстречу этой цели. Реализуем в нашем фреймворке HttpKernelInterface:

Создание вашего собственного фрейморка… используя компоненты Symfony2 (Часть 9)

У нашего фреймворка до сих пор нету одной важной характеристики любого хорошего фреймворка – гибкости. Гибкость – возможность легко добавлять hook’и в цикл фреймворка для того чтобы изменить обработку запроса.

Создание вашего собственного фрейморка… используя компоненты Symfony2 (Часть 8)

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

Создание вашего собственного фрейморка… используя компоненты Symfony2 (Часть 7)

Сейчас у нашего фреймворка есть недостаток: мы должны каждый раз копировать код из front.php когда создаем новый веб-сайт. Хоть 40 строк кода это не так уж и много, но было бы круто если бы код был помещен в соответствующий класс. Это дало бы нам возможность использовать фреймворк повторно и упростило тестирование.

Создание вашего собственного фрейморка… используя компоненты Symfony2 (Часть 6)

Казалось бы, что наш фреймворк уже достаточно целостный, в какой-то мере так и есть, но давайте все-таки взглянем, что можно было бы улучшить.

Создание вашего собственного фрейморка… используя компоненты Symfony2 (Часть 5)

Внимательный читатель заметил, что в нашем фреймворке жестко прописан способ, которым выполняется код шаблонов. Для простых страниц, как те, которые мы создавали ранее, — это не проблема. Но если вы планируете добавить больше логики, вам придется внедрить её в сам шаблон.

Создание вашего собственного фрейморка… используя компоненты Symfony2 (Часть 4)

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