Symfony

Symfony

BACKEND

Full-stack framework PHP opracowany przez SensioLabs oferujący modularną architekturę opartą na wielokrotnie używalnych komponentach. Solidne wzorce projektowe (MVC, Dependency Injection), rozszerzalny system bundli, potężny Doctrine ORM i bogaty ekosystem do budowania skalowalnych i łatwych w utrzymaniu aplikacji webowych.

Czego się nauczysz

Nowoczesny PHP ze ścisłym typowaniem, atrybutami PHP 8+ i autoloadingiem PSR-4

Architektura MVC z kontrolerami, trasami i silnikiem szablonów Twig

Natywne Dependency Injection z autowiringiem i konfiguracją YAML/XML/PHP

Doctrine ORM z encjami, repozytoriami, migracjami i DQL

Wielokrotnie używalne bundle do modularności i organizacji kodu

Symfony Console do komend CLI i automatycznych skryptów

Komponent bezpieczeństwa do uwierzytelniania, autoryzacji i firewalla

Komponent formularzy z walidacją, ochroną CSRF i motywami

Komponent Messenger do async/kolejek z transportami (RabbitMQ, Redis)

Kompleksowe testowanie (PHPUnit, testy funkcjonalne, Panther do E2E)

Kluczowe tematy do opanowania

Najważniejsze pojęcia do zrozumienia tej technologii i zdania rozmów

1

PHP: przestrzenie nazw, autoloading PSR-4, traity, interfejsy, ścisłe typowanie PHP 8+

2

Architektura Symfony: HttpKernel, cykl Request/Response, zdarzenia, listenery kernela

3

Kontrolery: routing, adnotacje/atrybuty, parametry żądania, typy odpowiedzi

4

Routing: YAML/adnotacje/atrybuty, parametry tras, wymagania, prefiksy

5

Dependency Injection: serwisy, autowiring, kontener serwisów, compiler passes

6

Doctrine ORM: encje, adnotacje/atrybuty, asocjacje (@OneToMany, @ManyToOne)

7

Repozytoria Doctrine: niestandardowe zapytania, QueryBuilder, DQL (Doctrine Query Language)

8

Migracje: DoctrineMigrationsBundle, wersjonowanie, migracje up/down

9

Twig: składnia szablonów, filtry, funkcje, dziedziczenie (extends, block), includes

10

Formularze: FormType, builder formularzy, ograniczenia walidacji, niestandardowe typy formularzy

11

Walidacja: adnotacje ograniczeń (@NotBlank, @Email), niestandardowe walidatory, grupy

12

Bezpieczeństwo: dostawcy uwierzytelniania, votery, firewalle, hierarchia ról, zapamiętaj mnie

13

Zdarzenia: EventDispatcher, subskrybenci zdarzeń, zdarzenia kernela (request, response, exception)

14

Serializer: normalizacja, denormalizacja, grupy, niestandardowe normalizery, formaty (JSON, XML)

15

Messenger: handlery wiadomości, transporty, przetwarzanie asynchroniczne, strategie ponawiania

16

Konsola: komendy (klasa Command), input/output, helpery, paski postępu

17

HTTP Client: komponent HttpClient, żądania, uwierzytelnianie, mechanizm ponawiania

18

Cache: pule cache, tagi cache, adaptery (Redis, APCu, Filesystem)

19

Bundle: struktura bundla, klasa extension, konfiguracja, bundle zewnętrzne

20

Testowanie: PHPUnit, WebTestCase, testy funkcjonalne, fixtures, mockowanie

21

Wydajność: profiler, strategie cache, lazy loading, opcache, preloading PHP 8

22

API Platform: REST/GraphQL API na Symfony, serializacja, filtry, paginacja

23

Wdrażanie: Symfony CLI, zmienne środowiskowe (.env), Docker, optymalizacja composer