05 de juny de 2024
Què són els Bundles de Symfony?
Un dels punts forts de Symfony és la seva escalabilitat. Permet segmentar el codi en bundles perquè el projecte pugui continuar creixent. Amb un Bundle encapsulem una o diverses funcionalitats.
Què és un bundle?
Un Bundle és un paquet, que pot contenir qualsevol cosa:
- Codi de programació
- Fitxers de configuració
- Plantilles
- CSS, JavaScript
El contingut del bundle conforma una subaplicació dins de la nostra aplicació (en definitiva és un plugin). Per exemple, es pot crear un blog en un bundle, i allí que contingui tots els fitxers necessaris per executar-lo (controladors, plantilles, fitxers css, fitxers js, …)
La nostra aplicació en Symfony pot estar tota continguda en un bundle o en diversos.
Com és l'estructura de Symfony?
Abans d'explicar com es crea un Bundle hem de conèixer l'estructura d'un projecte Symfony que està composta dels següents directoris:
- app/: conté la configuració de l'aplicació.
- src/: aquí es troba tot el codi PHP de l'aplicació. És el directori on per defecte tindrem els Bundles.
- vendor/: per convenció aquí es guarden totes les llibreries creades per tercers. En principi, és un directori que no hem de tocar.
- web/: aquest és el directori web arrel i conté tots els arxius als quals es pot accedir públicament.
Com crear un Bundle en Symfony?
Suposem que volem crear un bundle per gestionar usuaris. El crearem al directori src/Daw/UserBundle (el namespace ha d'acabar sempre per Bundle). Per tant, des de la terminal ubicada al directori del nostre projecte escrivim la següent comanda:
$ php app/console generate:bundle --namespace=Daw/UserBundle
Ens farà una sèrie de preguntes que deixarem per defecte, excepte la de format de configuració on indicarem “yml”.
Amb això el Bundle quedarà registrat a la nostra aplicació. Dins de src/Daw/UserBundle tindrem el Bundle que acabem de crear.
Per verificar que s'ha creat correctament podem seguir dos passos:
- Verificar el fitxer app/AppKernel: on s'haurà generat una nova posició de l'array $bundles.
- Verificar config/routing.yml: on es farà una importació del fitxer routing.yml del nostre bundle.
Share
Potser et pugui interessar
Desenvolupament web amb Drupal: Creant experiències digitals sostenibles
Drupal és un CMS líder, ideal per crear experiències digitals sostenibles i personalitzades. A SEIDOR, oferim consultoria, disseny, desenvolupament i manteniment per maximitzar el rendiment de les teves aplicacions web.