«> Мощь компонентов Symfony Автор: Адам ОквекаПолный разработчик Опубликован: 20-12-2018 Категория: Веб-приложения

Я не знать, было ли название «Symfony» придумано SensioLabs, создателями этого популярного фреймворка, есть ли у них кто-то хороший в маркетинге, но вы не могли придумать лучшего. Symfony — это набор независимых библиотек, называемых компонентами, которые могут использоваться отдельно или создавать одно целое и взаимодействовать друг с другом.

Чтобы немного расширить мои мысли, каждый компонент можно сравнить с инструментом, который хорошо звучит сам по себе, а также в оркестре вместе с другими инструментами. Точно так же с Symfony. В зависимости от того, что мы хотим получить, мы используем соответствующий компонент, некоторые или даже все из них.

Выбранные компоненты Symfony

Краткое описание наиболее часто используемых компонентов Symfony:

HttpFoundation — отвечает за уровень HTTP, изменяет глобальные переменные запроса ($ _GET, $ _POST, $ _SESSION) и функции ответа (echo (), header ()) в объектно-ориентированное программирование. Наиболее важными в этом компоненте являются два класса: Request и Response, которые имеют все необходимые методы для управления уровнем HTTP. HttpKernel — короче, он отвечает за преобразование запроса в ответ. Актив — управляет созданием URL-адресов для стилей CSS, JavaScript, файлов и изображений. Консоль — особенно желательно для пользователей Linux. Этот компонент предоставляет мощную консоль для ускорения работы над приложением. Благодаря ему мы можем автоматизировать десятки задач, которые мы должны выполнять при создании проектов, например, создание классов с помощью сеттеров и геттеров, создание структуры базы данных. DependencyInjection — вводит шаблон того, как правильно «внедрять» объекты в другие объекты, т.е. он отвечает за зависимости между различными объектами в нашем приложении. EventDispatcher — обеспечивает связь между отдельными частями нашего приложения. В одном компоненте мы объявляем класс Event, который включает реакцию на данное действие в приложении, а в следующем — класс EventSubscriber, в котором мы подписываемся на ранее объявленное событие. Хорошим примером является ранее упомянутый компонент HttpKernel, который преобразует запрос в ответ благодаря EventDispatcher. BrowserKit — имитирует поведение браузера в нашем приложении, т.е. позволяет программно обрабатывать щелчки, сохранять формы и т. Д. Процесс — позволяет выполнять команды в подпроцессах. CssSelector — преобразует селекторы CSS в выражения Xpath. Форма — позволяет создавать простые и сложные формы и управлять процессом их заполнения.

Я только что обрисовал в общих чертах несколько из действительно многих компонентов Symfony, которые можно использовать при создании продвинутых веб-приложений. Чтобы узнать их все, посетите документацию на официальном веб-сайте Symfony.

Использование Symfony

PHP, несмотря на наступление JavaScript, по-прежнему остается наиболее часто используемой технологией в Интернете. В настоящее время в большинстве случаев для создания веб-сайтов, магазинов или различных интернет-приложений используются готовые CMS, электронная коммерция или фреймворки. Конечно, на самых популярных платформах этого типа мы можем найти компоненты Symfony. Некоторые примеры:

Системы электронной коммерции Magento — мощная и чрезвычайно популярная платформа электронной коммерции. Использует Console, EventDispatcher, Process. PrestaShop — столь же популярный, как Magento, платформа, использующая Asset, HttpFoundation, HttpKernel, EventDispatcher и многие другие. Sylius — использует актив, диспетчер событий, форму, безопасность, маршрутизацию и многое другое. Системы Drupal 8 CMS — универсальная CMF, использующая компоненты: HttpKernel, HttpFoundation, EventDispatcher, DependencyInjection и многие другие. Joomla! — одна из самых популярных систем CMS использует Asset, Console, HttpFoundation, Yaml и многие другие. eZ Publish — использует BrowserKit, DependencyInjection, Config, Debug и другие. Фреймворки Symfony — Symfony, помимо набора компонентов, также является полноценным фреймворком. Очевидно, что он использует компоненты Symfony. Laravel — самый быстрорастущий фреймворк, самый популярный и набирающий массы новых пользователей. Он использует Console, Debug, HttpFoundation, HttpKernel и многие другие компоненты Yii — менее популярные, чем Laravel, но с ним жесткая конкуренция. Использует компонент «Процесс». SDK Google Cloud Platform — использует компоненты Console, BrowserKit, Filesystem, Lock, Process. Facebook Ads API — использует компонент Finder. Статьи Facebook Instatnt — использует компонент CssSelector. Other Composer — инструмент, без которого не может обойтись ни один PHP-программист. Использует консоль, файловую систему, Finder, компоненты процесса. PhpMyAdmin — инструмент, который мне не нужно вводить. Он использует компоненты ExpressionLanguage, Polyfill Mbstring. Игры — Я даже сталкивался с этим приложением Symfony. Программисты одной из компаний-разработчиков игр хвастались использованием компонентов DependencyInjection или Console. Характеристики Symfony

Возможно, я мог бы обменять его на еще несколько страниц формата А4. Из приведенных выше примеров мы видим, насколько широко используется платформа Symfony. Некоторые компоненты, такие как HttpFoundation и Console, используются в ряде систем на основе PHP. Можно сказать, что компоненты Symfony расширили возможности этого языка программирования и сделали работу многих программистов по всему миру проще и быстрее.

Вторым наиболее характерным элементом Symfony после компонентов являются так называемые «Пакеты», то есть небольшие независимые приложения, которые можно использовать при создании больших проектов. Хорошим примером Bundles будут функции системы входа в систему или панели администрирования, которые необходимо реализовать почти в каждом проекте. С Symfony достаточно сделать это один раз и снова использовать в будущих проектах. Пакеты, конечно, также создаются сообществом Symfony, поэтому, прежде чем мы начнем что-то переписывать, стоит проверить, не делал ли кто-нибудь что-то подобное.

Фреймворку symfony также не хватает четко определенной структуры модели в MVC. шаблон объектно-ориентированного программирования. Уровень модели в Symfony чаще всего является контейнером служб, то есть службами, которые мы объявляем в нашем приложении и на которые мы можем легко ссылаться из любого места кода.

Резюме

Symfony в настоящее время является наиболее широко используемой платформой на основе на языке PHP. Знание компонентов Symfony открывает широкие возможности для знакомства и расширения систем, которые их используют. Программисты, знакомые с Symfony, вероятно, еще долго будут востребованы на рынке труда.


https://smartbees.pl/blog/moc-komponentow-symfony

Rate this post