Symfony

Symfony

BACKEND

Full-stack PHP-framework ontwikkeld door SensioLabs dat modulaire architectuur biedt op basis van herbruikbare componenten. Solide design patterns (MVC, Dependency Injection), uitbreidbaar bundlesysteem, krachtige Doctrine ORM en rijk ecosysteem voor het bouwen van schaalbare en onderhoudbare webapplicaties.

Wat je zult leren

Modern PHP met strikte typing, PHP 8+ attributen en PSR-4 autoloading

MVC-architectuur met controllers, routes en Twig template-engine

Native Dependency Injection met autowiring en YAML/XML/PHP-configuratie

Doctrine ORM met entities, repositories, migraties en DQL

Herbruikbare bundels voor modulariteit en code-organisatie

Symfony Console voor CLI-commando's en geautomatiseerde scripts

Security-component voor authenticatie, autorisatie en firewall

Form-component met validatie, CSRF-bescherming en theming

Messenger-component voor async/queue met transports (RabbitMQ, Redis)

Uitgebreid testen (PHPUnit, functionele tests, Panther voor E2E)

Belangrijkste onderwerpen om te beheersen

De belangrijkste concepten om deze technologie te begrijpen en je gesprekken te halen

1

PHP: namespaces, PSR-4 autoloading, traits, interfaces, strikte typing PHP 8+

2

Symfony-architectuur: HttpKernel, Request/Response-cyclus, events, kernel-listeners

3

Controllers: routing, annotaties/attributen, verzoekparameters, responstypen

4

Routing: YAML/annotaties/attributen, routeparameters, vereisten, prefixen

5

Dependency Injection: services, autowiring, service container, compiler passes

6

Doctrine ORM: entities, annotaties/attributen, associaties (@OneToMany, @ManyToOne)

7

Doctrine-repositories: aangepaste queries, QueryBuilder, DQL (Doctrine Query Language)

8

Migraties: DoctrineMigrationsBundle, versioning, up/down-migraties

9

Twig: templatesyntax, filters, functies, overerving (extends, block), includes

10

Formulieren: FormType, form builders, validatiebeperkingen, aangepaste formuliertypen

11

Validatie: beperkingannotaties (@NotBlank, @Email), aangepaste validators, groepen

12

Beveiliging: authenticatieproviders, voters, firewalls, rolhiërarchie, onthoud mij

13

Events: EventDispatcher, event subscribers, kernel-events (request, response, exception)

14

Serializer: normalisatie, denormalisatie, groepen, aangepaste normalizers, formaten (JSON, XML)

15

Messenger: message handlers, transports, asynchrone verwerking, retry-strategieën

16

Console: commando's (Command-klasse), invoer/uitvoer, helpers, voortgangsbalken

17

HTTP Client: HttpClient-component, verzoeken, authenticatie, retry-mechanisme

18

Cache: cachepools, cachetags, adapters (Redis, APCu, Filesystem)

19

Bundels: bundelstructuur, extensieklasse, configuratie, externe bundels

20

Testen: PHPUnit, WebTestCase, functionele tests, fixtures, mocking

21

Prestaties: profiler, caching-strategieën, lazy loading, opcache, PHP 8 preloading

22

API Platform: REST/GraphQL API's bovenop Symfony, serialisatie, filters, paginering

23

Deployment: Symfony CLI, omgevingsvariabelen (.env), Docker, composer optimize