Symfony

カスタムバンドル

バンドルの作成、エクステンションの設定、コンパイラパス、再利用可能なバンドル、ベストプラクティス

20 面接問題·
Senior
1

Symfony でバンドルのメインクラスはどのクラスを継承する必要がありますか?

回答

Symfony のバンドルのメインクラスは AbstractBundle(Symfony 6.1 以降)または Bundle を継承する必要があります。AbstractBundle は設定を簡素化し、configure() メソッドを通じてバンドルクラス内で直接設定を定義できるため推奨されます。Bundle は後方互換性のために引き続き利用できますが、AbstractBundle はより新しい API を提供します。

2

Symfony バンドルにおける Extension クラスの役割は何ですか?

回答

Extension クラス(ConfigurableExtension または Extension を継承)は、バンドルの設定を読み込み、サービスをコンテナに登録する役割を担います。バンドルの設定ファイルを読み込み、アプリケーションのパラメータを処理し、ContainerBuilder を介してサービスを構成します。コンテナのコンパイル時に呼び出される load() メソッドを実装します。

3

AcmePaymentBundle という名前のバンドルのメインクラスの命名規則はどうなっていますか?

回答

Symfony の規約では、バンドルのメインクラスはバンドルと同じ名前を持つ必要があります。AcmePaymentBundle の場合、メインクラスは AcmePaymentBundle となり、対応する名前空間(通常は Acme\PaymentBundle)に配置する必要があります。したがって、ファイルはバンドルの src/ フォルダ内の AcmePaymentBundle.php になります。

4

Symfony における Compiler Pass とは何で、いつ使用しますか?

5

パラメータ検証を伴うバンドルのセマンティック設定をどのように定義しますか?

+17 面接問題

次の面接に向けてSymfonyをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める