Symfony

Symfony

BACKEND

Framework PHP full-stack sviluppato da SensioLabs che offre architettura modulare basata su componenti riutilizzabili. Pattern di design solidi (MVC, Dependency Injection), sistema di bundle estensibile, ORM Doctrine potente ed ecosistema ricco per costruire applicazioni web scalabili e manutenibili.

Cosa imparerai

PHP moderno con tipizzazione rigorosa, attributi PHP 8+ e autoloading PSR-4

Architettura MVC con controller, route e motore di template Twig

Dependency Injection nativa con autowiring e configurazione YAML/XML/PHP

Doctrine ORM con entity, repository, migration e DQL

Bundle riutilizzabili per modularità e organizzazione del codice

Symfony Console per comandi CLI e script automatizzati

Componente Security per autenticazione, autorizzazione e firewall

Componente Form con validazione, protezione CSRF e theming

Componente Messenger per async/code con transport (RabbitMQ, Redis)

Testing completo (PHPUnit, test funzionali, Panther per E2E)

Argomenti chiave da padroneggiare

I concetti più importanti per comprendere questa tecnologia e superare i colloqui

1

PHP: namespace, autoloading PSR-4, trait, interfacce, tipizzazione rigorosa PHP 8+

2

Architettura Symfony: HttpKernel, ciclo Request/Response, eventi, listener del kernel

3

Controller: routing, annotazioni/attributi, parametri della request, tipi di response

4

Routing: YAML/annotazioni/attributi, parametri di route, requisiti, prefissi

5

Dependency Injection: servizi, autowiring, container di servizi, compiler pass

6

Doctrine ORM: entity, annotazioni/attributi, associazioni (@OneToMany, @ManyToOne)

7

Repository Doctrine: query personalizzate, QueryBuilder, DQL (Doctrine Query Language)

8

Migration: DoctrineMigrationsBundle, versionamento, migration up/down

9

Twig: sintassi template, filtri, funzioni, ereditarietà (extends, block), include

10

Form: FormType, builder dei form, vincoli di validazione, tipi di form personalizzati

11

Validazione: annotazioni di vincolo (@NotBlank, @Email), validatori personalizzati, gruppi

12

Sicurezza: provider di autenticazione, voter, firewall, gerarchia dei ruoli, ricordami

13

Eventi: EventDispatcher, sottoscrittori di eventi, eventi del kernel (request, response, exception)

14

Serializer: normalizzazione, denormalizzazione, gruppi, normalizzatori personalizzati, formati (JSON, XML)

15

Messenger: handler dei messaggi, transport, elaborazione asincrona, strategie di retry

16

Console: comandi (classe Command), input/output, helper, barre di avanzamento

17

HTTP Client: componente HttpClient, richieste, autenticazione, meccanismo di retry

18

Cache: pool di cache, tag di cache, adapter (Redis, APCu, Filesystem)

19

Bundle: struttura bundle, classe extension, configurazione, bundle di terze parti

20

Testing: PHPUnit, WebTestCase, test funzionali, fixture, mock

21

Performance: profiler, strategie di caching, lazy loading, opcache, preloading PHP 8

22

API Platform: REST/GraphQL API su Symfony, serializzazione, filtri, paginazione

23

Distribuzione: Symfony CLI, variabili d'ambiente (.env), Docker, ottimizzazione composer