Служба підтримки 24/7:

+38 (097) 806-01-89

E-mail для замовлень:

info@armedsoft.com

Огляд платформи Symfony

Січень 11, 2020

Огляд платформи Symfony

Якщо мова йде про розробку складних web-сайтів, можна сміливо обирати Symfony Framework. Адже php фреймворк містить набір компонентів, саме, завдяки яким, забезпечується створення проектів різноманітної складності - від простих до більш масштабних.

Декілька причин, чому потрібно надати перевагу Symfony.

  • Важливою перевагою являється співвідношення швидкості та якості розробки. 
  • Наявність алгоритмів, що забезпечують захист даних та загальну безпеку сайту.
  • Використовувані модулі при розробці сайту можна розширювати, в залежності від потреб.
  • На Symfony з легкістю можна створювати структурні дані і змінювати уже готові класи.
  • Гнучкість дозволяє інтегруватися з іншими потужними CMS, зокрема з Drupal.
  • Зручна та зрозуміла адміністративна панель є також одним із плюсів.
  • Часто оновлювальна та доступна документація теж являється значною перевагою.

Огляд компонентів Symfony.

BrowserKit - відтворює поведінку браузера, дозволяє клікати по посиланнях і т.д.

CssSelector - перетворення Css селекторів у XPath.

Config - відповідає за обробку значень конфігурації, їх завантаження, комбінування і т.д.

Console - забезпечує створення команд CLI в додатках PHP. Інструменти CLI, або ж Command line interface, забезпечують спрощене виконання стандартних щоденних операцій.

Debug - спрощення налагодження коду.

EventDispatcher - інструменти цього компоненту забезпечують взаємодію із компонентами вашого додатку.  

Filesystem - виконує ряд функцій, зокрема: створення/копіювання/видалення файла, директорії тощо.

HttpClient - відповідає за отримання HTTP-ресурсів.

HttpFoundation - взаємодія з HTTP відбувається за допомогою об’єктно-орієнтованого підходу.

HttpKernel - трансформує Request в Response.

Routing - даний компонент використовується для налаштування маршрутів в додатку PHP.

Security - гарантує безпеку web-додатку.

Сервіси Symfony

Даному фреймворку притаманна значна кількість сервісів, серед яких можна обирати ті, які застосовуватимуться для подальшої роботи. Є можливість скачати їх через composer або ж написати самостійно. Сервіси є різноманітними - для роботи з БД, для надсилання email, кешування сторінок та ряд інших. 

Всі сервіси Symfony, кожен з яких має унікальний номер, зберігаються в контейнері. Щоб довідатися чи той, або ж інший сервіс є доступним, зайшовши в директорію проекту, необхідно виконати команду, подану нижче:

bin/console debug:autowiring 

Ще один спосіб - пошук за ключовим словом:

bin/console debug:autowiring [<keyword>].  

Існує ще одне поняття бандлів. Це зв’язна ланка, яка відповідає за можливість розміщення PHP-класу в контейнері. З допомогою composer бандли додаються в проект:

composer require presta/sitemap-bundle.

Наступний крок - підключення в app/AppKernel.php:

public function registerBundles()

{

    $bundles = array(

...

        new Presta\SitemapBundle\PrestaSitemapBundle(),

    )

...

}

Тепер процес встановлення завершено. Однак, є бандли, для яких необхідні додаткові конфігурації в app/config/config.yml. Для цього уже потрібно буде шукати додаткові інструкції по встановленню того чи іншого бандлу. 

Наведемо перелік деяких бандлів.

SonataAdminBundle - “будування” адмінки.

FOSUserBundle - призначений для реєстрації користувачів, підтвердження email.

KnpMenuBundle - створення меню. 

BreadcrumbsBundle - виходячи із назви, цей бандл відповідає за створення “хлібних крихт”.

LiipImagineBundle - застосовується з метою здійснення маніпуляцій з картинками - коригування їх розмірів, стиснення чи розтягування, обрізання тощо.

Більш детальніше зі списком бандлів та їх трактування можна ознайомитися на офіційному сайті Symfony https://symfony.com/doc/bundles/.

Усі, вищезгадані переваги фреймворку, значно спрощують роботу розробникам. Для кожного з етапів розробки наявні інструменти, що сприяють, в кінцевому етапі, отриманню ефективного та якісного продукту. А це і є головною ціллю для двох сторін - команди девелоперів та замовника.

Інші записи

Рекомендовані вам