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, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기