Seidor
hombre mirando el reloj

05 de junho de 2024

O que são os Bundles do Symfony?

Um dos pontos fortes do Symfony é sua escalabilidade. Permite segmentar o código em bundles para que o projeto possa continuar crescendo. Com um Bundle encapsulamos uma ou várias funcionalidades.

O que é um bundle?

Um Bundle é um pacote, que pode conter qualquer coisa:

  • Código de programação
  • Arquivos de configuração
  • Templates
  • CSS, JavaScript

O conteúdo do bundle forma uma subaplicação dentro da nossa aplicação (em definitivo é um plugin). Por exemplo, pode-se criar um blog em um bundle, e lá conter todos os arquivos necessários para executá-lo (controladores, templates, arquivos css, arquivos js, ...)

Nossa aplicação em Symfony pode estar toda contida em um bundle ou em vários.

Como é a estrutura do Symfony?


Antes de explicar como se cria um Bundle, devemos conhecer a estrutura de um projeto Symfony que é composta pelos seguintes diretórios:

  • app/: contém a configuração da aplicação.
  • src/: aqui se encontra todo o código PHP da aplicação. É o diretório onde por padrão teremos os Bundles.
  • vendor/: por convenção aqui são guardadas todas as bibliotecas criadas por terceiros. Em princípio, é um diretório que não precisamos tocar.
  • web/: este é o diretório web raiz e contém todos os arquivos aos quais se pode acessar publicamente.

Como criar um Bundle no Symfony?


Suponhamos que queremos criar um bundle para gerenciar usuários. Vamos criá-lo no diretório src/Daw/UserBundle (o namespace deve sempre terminar com Bundle). Portanto, a partir do terminal localizado no diretório do nosso projeto, escrevemos o seguinte comando:

$ php app/console generate:bundle --namespace=Daw/UserBundle

Ele fará uma série de perguntas que deixaremos por padrão, exceto a de formato de configuração onde indicaremos “yml”.

Com isso, o Bundle será registrado na nossa aplicação. Dentro de src/Daw/UserBundle teremos o Bundle que acabamos de criar.

Para verificar se foi criado corretamente, podemos seguir dois passos:

  • Verificar o arquivo app/AppKernel: onde será gerada uma nova posição do array $bundles.
  • Verificar config/routing.yml: onde será feita uma importação do arquivo routing.yml do nosso bundle.

Talvez te interesse

23 de maio de 2024

Desenvolvimento web com Drupal: Criando experiências digitais sustentáveis

Drupal é um CMS líder, ideal para criar experiências digitais sustentáveis e personalizadas. Na SEIDOR, oferecemos consultoria, design, desenvolvimento e manutenção para maximizar o desempenho de suas aplicações web.

Customer Experience
SEIDOR
23 de maio de 2024

Competências e critérios para escolher um especialista em cibersegurança

Você está procurando um especialista em cibersegurança? Na SEIDOR, oferecemos proteção avançada contra ciberataques, garantindo a integridade dos seus dados e a continuidade operacional do seu negócio.

Cybersecurity
SEIDOR