Peticiones Ajax con Symfony 3
Peticiones Ajax con Symfony 3

Los bundles en Symfony 3 son módulos bien separados cada uno con su propia lógica, controladores, vistas, archivos de configuración y tests entre otras cosas.

Gracias a los bundles podemos desarrollar aplicaciones reusables de forma sencilla y mantener cierto orden en nuestro proyecto.

Cuando creamos un nuevo proyecto con Symfony tenemos a nuestra disposición un bundle llamado AppBundle el cuál tiene un controlador y su vista asociada entre otras cosas, pero eso sólo no funciona, todo bundle debe tener un archivo php normalmente con el mismo nombre que el directorio que alojará el bundle que contenga una clase que extienda de Symfony\Component\HttpKernel\Bundle\Bundle, de esta forma el bundle podrá ser registrado en la configuración de Symfony y utilizado sin problemas.

Tutoriales que te pueden interesar.

Desarrollo de bundles en Symfony

Primero vamos a crear nuestro bundle desde 0 y después a través de la línea de comandos, así entenderemos que necesita un bundle en Symfony para funcionar.

Vamos a crear un directorio llamado ShopBundle dentro de src y dentro un archivo llamado ShopBundle.php con el siguiente código.


Ahora que tenemos nuestro bundle creado vamos a decirle a Symfony que existe, para ello abre el archivo app/AppKernel.php y añade la siguiente línea al array de bundles.


Finalmente sólo nos queda aplicar la configuración en las rutas, para ello abre el archivo app/config/routing.yml si no has cambiado la extensión de los archivos de configuración de Symfony y añade las siguientes líneas a continuación.


De esta forma ya tenemos la configuración básica de cualquier bundle y podemos empezar a utilizarlo, cabe destacar sobre este bundle que le hemos dicho con prefix que todas las rutas de éste van ser precedidas por shop/, ahora sí, vamos a crear un controlador para ver como funciona, así que crea el controlador src/ShopBundle/Controller/DefaultController.php y añade el siguiente código.


Para ver que esto funciona simplemente accede a http://127.0.0.1:8000/shop/cursosdesarrolloweb, podrás ver que aparece el mensaje Nuevo bundle con Symfony 3: cursosdesarrolloweb.

Desarrollo de bundles en Symfony desde la CLI

Aunque lo anterior ha sido algo largo, la verdad es que symfony pone a nuestra disposición un comando para crear bundles de forma tremendamente sencilla, todo lo anterior lo podemos conseguir con el siguiente comando desde la línea de comandos.


Eso habrá creado el bundle con toda la configuración necesaria, pero si necesitas más, simplemente ejecuta el siguiente comando y verás todas las opciones disponibles.


Esto es lo más básico en lo referente a bundles en Symfony, espero que te haya gustado y parecido interesante.