Symfony

Symfony

BACKEND

Full-stack PHP-фреймворк, розроблений SensioLabs, з модульною архітектурою на основі перевикористовуваних компонентів. Надійні дизайн-патерни (MVC, Dependency Injection), розширювана система bundle, потужний Doctrine ORM та багата екосистема для побудови масштабованих та підтримуваних вебдодатків.

Чому ти навчишся

Сучасний PHP зі суворою типізацією, PHP 8+ атрибутами та PSR-4 autoloading

MVC-архітектура з контролерами, маршрутами та шаблонізатором Twig

Нативний Dependency Injection з autowiring та YAML/XML/PHP-конфігурацією

Doctrine ORM з entity, репозиторіями, міграціями та DQL

Перевикористовувані bundle для модульності та організації коду

Symfony Console для CLI-команд та автоматизованих скриптів

Security-компонент для автентифікації, авторизації та фаєрволу

Form-компонент з валідацією, CSRF-захистом та темізацією

Messenger-компонент для async/черг з transport (RabbitMQ, Redis)

Комплексне тестування (PHPUnit, функціональні тести, Panther для E2E)

Ключові теми для опанування

Найважливіші концепції для розуміння цієї технології та проходження співбесід

1

PHP: простори імен, PSR-4 autoloading, trait, interface, сувора типізація PHP 8+

2

Архітектура Symfony: HttpKernel, цикл Request/Response, події, listener ядра

3

Контролери: маршрутизація, анотації/атрибути, параметри запиту, типи відповідей

4

Маршрутизація: YAML/анотації/атрибути, параметри маршруту, вимоги, префікси

5

Dependency Injection: сервіси, autowiring, service container, compiler pass

6

Doctrine ORM: entity, анотації/атрибути, асоціації (@OneToMany, @ManyToOne)

7

Doctrine repository: кастомні запити, QueryBuilder, DQL (Doctrine Query Language)

8

Міграції: DoctrineMigrationsBundle, версіонування, up/down-міграції

9

Twig: синтаксис шаблонів, фільтри, функції, наслідування (extends, block), include

10

Форми: FormType, form builder, обмеження валідації, кастомні типи форм

11

Валідація: анотації обмежень (@NotBlank, @Email), кастомні валідатори, групи

12

Безпека: провайдери автентифікації, voter, фаєрвол, ієрархія ролей, запам'ятати мене

13

Події: EventDispatcher, підписники подій, події ядра (request, response, exception)

14

Serializer: нормалізація, денормалізація, групи, кастомні normalizer, формати (JSON, XML)

15

Messenger: обробники повідомлень, transport, асинхронна обробка, стратегії повторення

16

Console: команди (клас Command), введення/виведення, helper, прогрес-бари

17

HTTP Client: компонент HttpClient, запити, автентифікація, механізм повторення

18

Кеш: cache pool, cache tag, адаптери (Redis, APCu, Filesystem)

19

Bundle: структура bundle, клас extension, конфігурація, сторонні bundle

20

Тестування: PHPUnit, WebTestCase, функціональні тести, fixture, mock

21

Продуктивність: profiler, стратегії кешування, lazy loading, opcache, PHP 8 preloading

22

API Platform: REST/GraphQL API на Symfony, серіалізація, фільтри, пагінація

23

Розгортання: Symfony CLI, змінні середовища (.env), Docker, оптимізація composer