Symfony

Bundles Personalizados

Criação de bundles, configuração de extensões, compiler passes, bundles reutilizáveis, melhores práticas

20 perguntas de entrevista·
Senior
1

Qual classe a classe principal de um bundle deve estender no Symfony?

Resposta

A classe principal de um bundle Symfony deve estender AbstractBundle (Symfony 6.1+) ou Bundle. AbstractBundle é recomendada porque simplifica a configuração e permite definir a configuração diretamente na classe do bundle por meio do método configure(). Bundle continua disponível para retrocompatibilidade, mas AbstractBundle oferece uma API mais moderna.

2

Qual é o papel da classe Extension em um bundle Symfony?

Resposta

A classe Extension (que herda de ConfigurableExtension ou Extension) é responsável por carregar a configuração do bundle e registrar os serviços no contêiner. Ela lê os arquivos de configuração do bundle, processa os parâmetros da aplicação e configura os serviços por meio do ContainerBuilder. Implementa o método load(), que é chamado durante a compilação do contêiner.

3

Qual é a convenção de nomenclatura para a classe principal de um bundle chamado AcmePaymentBundle?

Resposta

Por convenção do Symfony, a classe principal do bundle deve ter o mesmo nome que o bundle. Para AcmePaymentBundle, a classe principal será AcmePaymentBundle e deverá estar no namespace correspondente, geralmente Acme\PaymentBundle. Portanto, o arquivo será AcmePaymentBundle.php na pasta src/ do bundle.

4

O que é um Compiler Pass no Symfony e quando deve ser usado?

5

Como definir uma configuração semântica para um bundle com validação de parâmetros?

+17 perguntas de entrevista

Domine Symfony para sua proxima entrevista

Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.

Comece gratis