PHP-фреймворк Symfony
Symfony - это PHP-фреймворк и набор инструментов, а также методология или способ создания веб-приложения таким образом, чтобы оно было организованным, стабильным и масштабируемым. Кроме этого - Symfony является сообществом разработчиков, создавших эту платформу с открытым исходным кодом и всей экосистемой расширений и плагинов для этой платформы.
Преимущества использования платформы Symfony заключаются в том, что она применяет лучшие практики. Код проще в обслуживании, и он полностью модульный.
Symfony построен на концепции HTTP: запрос - ответ - это основа фреймворка. Клиент делает запрос серверу, сервер обрабатывает запросы, при необходимости извлекая данные, например, из базы данных и отправляет ответ обратно.
Допустим пользователь открывает адрес (маршрут) /news. Контроллер получит этот запрос, который затем будет отправлен в ядро, являющееся сердцем приложения Symfony.
В ядре загружаются библиотеки и происходят некоторые другие связанные с конфигурацией приложения вещи, и далее маршруты (адреса) будут обрабатываться механизмом маршрутизации.
Маршрут (адрес) будет указывать на определенный контроллер - файл контроллера, который содержит действия (actions). В Symfony действия - это, как правило, методы внутри контроллера, которые вызываются в ответ на запрос того или иного uri-адреса. В конце этого цикла, действие должно возвращать объект ответа, который в конечном итоге будет возвращен обратно клиенту в формате HTML, JSON, XML или любом другом.
Другие базовые основы Symfony
Модули
Symfony построен на основе модулей - пакетов (bundles). Пакеты - это то, как называются плагины, отдельные части кода, которые обладают собственной функциональностью. Таким образом, весь созданный Вами код будет находиться внутри пакетов. Библиотеки также собираются в пакеты. Даже сама библиотека Symfony рассматривается как пакет (bundle).
Шаблоны
Шаблоны позволяют описывать, например, html-представление, которое будет возвращено пользователю. Symfony для генерации представлений использует движок Twig, о котором я уже рассказывал.
Разные окружения разработки
Вы можете работать в разных режимах (окружениях) разработки в Symfony, что связано с загрузкой различных файлов конфигурации. Две из этих сред - это разработка (dev) и производство (prod). Также можете создавать свои собственные окружения разработки. В режиме dev доступна детальная отладочная информация в панели разработки, тогда как prod - это режим функционирования уже готового приложения, в котором отладочная информация не отображается.
Сервисы (службы)
Сервисы - это библиотеки, которые вы можете внедрить в свой код. Но они не загружены по умолчанию. Вы внедряете их в свой код, когда необходимо, посредством механизма называется инъекцией зависимости.
ORM - объектно-реляционное отображения
ORM - это, в своей основе, библиотека отображения (автоматического конвертирования) строк из таблиц базы данных в соответствующие модели предметной области или просто объекты. Т.е. есть например в базе таблица, содержащая данные о книгах - books. С помощью ORM эти данные будут сразу преобразованы в массив PHP-объектов Book[].
YAML - конфигурация
Конфигурирование или настройка Symfony проекта, как правило, выполняется в файлах формата YAML. Это простой, структурированный формат описания данных, с помощью которого описывается практически любой аспект функционирования приложения.
Таким образом, Symfony - это очень мощный и гибкий PHP-фреймворк, с помощью которого можно создавать сайты, веб-приложения, API-сервисы любой сложности.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.