Symfony

Symfony

BACKEND

再利用可能なコンポーネントに基づくモジュラーアーキテクチャを提供するSensioLabsが開発したフルスタックPHPフレームワークです。堅実なデザインパターン(MVC、Dependency Injection)、拡張可能なバンドルシステム、強力なDoctrine ORM、スケーラブルでメンテナンス性の高いWebアプリケーション構築のための豊富なエコシステムを備えています。

学べること

厳密な型付け、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