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

Сьогоднішнє завдання Symfony

Один фрагмент на день. Знайди баг або доведи, що його немає.

Зіграти сьогодні

72 вакансії Symfony онлайн

Постійні позиції та фриланс, із країною, remote і зарплатою, коли її опубліковано. Оновлюються щодня, доступні лише підписникам.

Ринок Symfony