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

์ตœ์‹  Symfony ๊ธฐ์‚ฌ

Symfony์— ๊ด€ํ•œ ์ตœ์‹  ๊ธฐ์‚ฌ์™€ ๊ฐ€์ด๋“œ๋ฅผ ํ™•์ธํ•˜์„ธ์š”

Symfony ํ…Œ์ŠคํŠธ ์™„๋ฒฝ ๊ฐ€์ด๋“œ 2026: PHPUnit, KernelTestCase, ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์‹ค์ „ ํ™œ์šฉ๋ฒ•

Symfony ํ…Œ์ŠคํŠธ ์™„๋ฒฝ ๊ฐ€์ด๋“œ 2026: PHPUnit, KernelTestCase, ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ ์‹ค์ „ ํ™œ์šฉ๋ฒ•

Symfony 7.3๊ณผ PHPUnit 12๋ฅผ ํ™œ์šฉํ•œ ํฌ๊ด„์ ์ธ ํ…Œ์ŠคํŠธ ์ „๋žต์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค. ์œ ๋‹› ํ…Œ์ŠคํŠธ, ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ, ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ์˜ ๊ตฌํ˜„ ํŒจํ„ด์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

Symfony ์˜์กด์„ฑ ์ฃผ์ž…์˜ ์„œ๋น„์Šค ์ปจํ…Œ์ด๋„ˆ์™€ ์˜คํ† ์™€์ด์–ด๋ง ์•„ํ‚คํ…์ฒ˜ ๋‹ค์ด์–ด๊ทธ๋žจ

Symfony ์˜์กด์„ฑ ์ฃผ์ž…: ์„œ๋น„์Šค ์ปจํ…Œ์ด๋„ˆ, ์˜คํ† ์™€์ด์–ด๋ง, ํƒœ๊ทธ (2026)

Symfony ์˜์กด์„ฑ ์ฃผ์ž…์„ ๊นŠ์ด ์žˆ๊ฒŒ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ์„œ๋น„์Šค ์ปจํ…Œ์ด๋„ˆ, ์˜คํ† ์™€์ด์–ด๋ง, #[Autowire] ์–ดํŠธ๋ฆฌ๋ทฐํŠธ, ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ”์ธ๋”ฉ, #[AutowireIterator]๋ฅผ ํ™œ์šฉํ•œ ํƒœ๊ทธ๋œ ์„œ๋น„์Šค, ์ปดํŒŒ์ผ๋Ÿฌ ํŒจ์Šค, ์ง€์—ฐ ์„œ๋น„์Šค๋ฅผ Symfony 7.4์™€ 8.0์—์„œ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

2026๋…„ Symfony Docker ํŠœํ† ๋ฆฌ์–ผ: ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๊ณผ ํ”„๋กœ๋•์…˜ ๋ฐฐํฌ

2026๋…„ Symfony์™€ Docker: ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๋ถ€ํ„ฐ ํ”„๋กœ๋•์…˜ ๋ฐฐํฌ๊นŒ์ง€

2026๋…„์„ ์œ„ํ•œ ์™„์ „ํ•œ Symfony Docker ์›Œํฌํ”Œ๋กœ. FrankenPHP ๊ฐœ๋ฐœ ํ™˜๊ฒฝ, ๋ฉ€ํ‹ฐ ์Šคํ…Œ์ด์ง€ ํ”„๋กœ๋•์…˜ ์ด๋ฏธ์ง€, ์›Œ์ปค ๋ชจ๋“œ, ์•”ํ˜ธํ™”๋œ ์‹œํฌ๋ฆฟ, ์ด๋ฏธ์ง€ ์ตœ์ ํ™”, ๊ทธ๋ฆฌ๊ณ  ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ํฌํ•จํ•œ ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

๋ชจ๋“  Symfony ๊ธฐ์‚ฌ ๋ณด๊ธฐ