Symfony

Symfony

BACKEND

재사용 가능한 컴포넌트에 기반한 모듈러 아키텍처를 제공하는 SensioLabs가 개발한 풀스택 PHP 프레임워크입니다. 견고한 디자인 패턴(MVC, Dependency Injection), 확장 가능한 번들 시스템, 강력한 Doctrine ORM, 확장 가능하고 유지보수 가능한 웹 애플리케이션 구축을 위한 풍부한 생태계를 갖추고 있습니다.

배울 내용

엄격한 타이핑, PHP 8+ attributes, PSR-4 autoloading을 갖춘 현대적 PHP

controllers, routes, Twig 템플릿 엔진을 활용한 MVC 아키텍처

autowiring과 YAML/XML/PHP 설정을 갖춘 네이티브 의존성 주입

entities, repositories, 마이그레이션, DQL을 갖춘 Doctrine ORM

모듈성과 코드 구성을 위한 재사용 가능한 번들

CLI 명령과 자동화 스크립트를 위한 Symfony Console

인증, 인가, 방화벽을 위한 Security 컴포넌트

유효성 검사, CSRF 보호, 테마를 갖춘 Form 컴포넌트

전송 (RabbitMQ, Redis)을 활용한 비동기/큐를 위한 Messenger 컴포넌트

포괄적인 테스트 (PHPUnit, 기능 테스트, Panther E2E)

마스터해야 할 핵심 주제

이 기술을 이해하고 면접에서 성공하기 위한 가장 중요한 개념

1

PHP: namespaces, PSR-4 autoloading, traits, interfaces, PHP 8+ 엄격한 타이핑

2

Symfony 아키텍처: HttpKernel, Request/Response 사이클, events, kernel listeners

3

Controllers: 라우팅, annotations/attributes, 요청 매개변수, 응답 타입

4

라우팅: YAML/annotations/attributes, 라우트 매개변수, requirements, prefixes

5

의존성 주입: services, autowiring, service container, compiler passes

6

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

7

Doctrine repositories: 사용자 정의 쿼리, QueryBuilder, DQL (Doctrine Query Language)

8

Migrations: DoctrineMigrationsBundle, 버전 관리, up/down 마이그레이션

9

Twig: 템플릿 구문, filters, functions, 상속 (extends, block), includes

10

Forms: FormType, form builders, 유효성 검사 제약, 사용자 정의 폼 타입

11

유효성 검사: constraint annotations (@NotBlank, @Email), 사용자 정의 validators, groups

12

Security: authentication providers, voters, firewalls, 역할 계층, remember me

13

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

14

Serializer: 정규화, 역정규화, groups, 사용자 정의 normalizers, 형식 (JSON, XML)

15

Messenger: message handlers, transports, 비동기 처리, 재시도 전략

16

Console: commands (Command 클래스), input/output, helpers, progress bars

17

HTTP Client: HttpClient 컴포넌트, requests, 인증, 재시도 메커니즘

18

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

19

Bundles: 번들 구조, extension class, 설정, 서드파티 번들

20

테스트: PHPUnit, WebTestCase, 기능 테스트, fixtures, mocking

21

성능: profiler, 캐싱 전략, lazy loading, opcache, PHP 8 preloading

22

API Platform: Symfony 위의 REST/GraphQL APIs, 직렬화, 필터, 페이지네이션

23

배포: Symfony CLI, 환경 변수 (.env), Docker, composer optimize