Symfony

Symfony

BACKEND

Framework PHP full-stack yang dikembangkan oleh SensioLabs menawarkan arsitektur modular berbasis komponen yang dapat digunakan kembali. Pola desain yang solid (MVC, Dependency Injection), sistem bundle yang dapat diperluas, Doctrine ORM yang kuat, dan ekosistem kaya untuk membangun aplikasi web yang skalabel dan mudah dipelihara.

Apa yang akan Anda pelajari

PHP modern dengan typing ketat, attributes PHP 8+, dan PSR-4 autoloading

Arsitektur MVC dengan controllers, routes, dan template engine Twig

Dependency Injection native dengan autowiring dan konfigurasi YAML/XML/PHP

Doctrine ORM dengan entities, repositories, migrasi, dan DQL

Bundle yang dapat digunakan kembali untuk modularitas dan organisasi kode

Symfony Console untuk perintah CLI dan skrip otomatis

Komponen Security untuk autentikasi, otorisasi, dan firewall

Komponen Form dengan validasi, perlindungan CSRF, dan theming

Komponen Messenger untuk async/queue dengan transports (RabbitMQ, Redis)

Pengujian komprehensif (PHPUnit, tes fungsional, Panther untuk E2E)

Topik utama yang harus dikuasai

Konsep terpenting untuk memahami teknologi ini dan berhasil di wawancara

1

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

2

Arsitektur Symfony: HttpKernel, siklus Request/Response, events, kernel listeners

3

Controllers: routing, annotations/attributes, parameter request, tipe response

4

Routing: YAML/annotations/attributes, parameter route, requirements, prefixes

5

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

6

Doctrine ORM: entities, annotations/attributes, associations (@OneToMany, @ManyToOne)

7

Repositories Doctrine: query kustom, QueryBuilder, DQL (Doctrine Query Language)

8

Migrations: DoctrineMigrationsBundle, versioning, migrasi up/down

9

Twig: sintaks template, filters, functions, pewarisan (extends, block), includes

10

Forms: FormType, form builders, constraints validasi, tipe form kustom

11

Validasi: constraint annotations (@NotBlank, @Email), validator kustom, groups

12

Security: authentication providers, voters, firewalls, hierarki peran, remember me

13

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

14

Serializer: normalisasi, denormalisasi, groups, normalizer kustom, format (JSON, XML)

15

Messenger: message handlers, transports, pemrosesan async, strategi retry

16

Console: commands (kelas Command), input/output, helpers, progress bars

17

HTTP Client: komponen HttpClient, requests, autentikasi, mekanisme retry

18

Cache: cache pools, cache tags, adapters (Redis, APCu, Filesystem)

19

Bundles: struktur bundle, extension class, konfigurasi, bundle pihak ketiga

20

Pengujian: PHPUnit, WebTestCase, tes fungsional, fixtures, mocking

21

Performa: profiler, strategi caching, lazy loading, opcache, preloading PHP 8

22

API Platform: REST/GraphQL APIs di atas Symfony, serialisasi, filter, paginasi

23

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