tutorial symfony bundle

Primer Bundle y primera página web en Symfony2

Bienvenidos!
 

Hoy vamos a ver como generar nuestra primera página web y nuestro primer Bundle para Symfony2! Sino sabes de lo que estamos hablando quizás deberías leer el tutorial anterior donde creamos la instalación de Symfony2 totalmente nueva desde el inicio.
 

Recuerda que al final de la página tienes el vídeo para que veas en detalle el proceso.
 

Symfony se estructura mediante una serie de componentes llamados «Bundle«. Para generar nuestra primera página lo primero que debemos realizar es crear nuestro Bundle, para ello disponemos de un comando que nos brinda simfony que nos ayuda a crear el Bundle.
 

Para acceder a los comandos de symfony hay que ejecutar con php el comando console y a continuación indicarle la acción que queremos generar, si no indicamos ninguna acción nos muestra un listado con todas las posibles acciones que se pueden realizar.
 

php app\console

En nuestro caso deseamos crear un bundle así que ejecutamos la siguiente instrucción desde la linea de comandos, justo en el directorio de nuestra aplicación symfony (por debajo del directorio «app»).
Nota: Recuerda que tienes que tener php instalado en el path para poder ser ejecutado desde cualquier directorio de tu pc.
 

php app\console generate:bundle

Al ejecutar la instrucción, un pequeños asistente en modo texto nos pregunta por:

  1. Si estamos planteando compartir nuestro Bundle con otras aplicaciones. Por defecto: no (pulsamos intro).
  2. Nombre de nuestro Bundle. En nuestro ejemplo FrontalBundle (siempre tiene que acabar con Bundle).
  3. Directorio donde estará el código: Por defecto: src (pulsamos intro).
  4. Formato de configuración: yml

Tras un pequeño tiempo de proceso ya tenemos nuestro primer Bundle creado. ¡Bravo!
 

El funcionamiento de Simfony2, suele ser el siguiente:
 

1._ La ruta introducida en la url del navegador es buscada por el fichero de «routing». (es como una especie de índice).
 

2._ Una vez encontrada la ruta, se redirige a una función de un controlador.
 

3._ En la función del controlador, se realiza las acciones que se quieran llevar al cabo y se devuelve la página web.
 

4._ La página web devuelta se puede escribir a «pelo», pero por norma general se selecciona una plantilla para que se renderice.
 

5._ El template es renderizado y se devuelve al navegador.
 

Así pues, una vez visto el funcionamiento, vamos a editar el fichero de routing, este fichero se encuentra en nuestro Bundle recién creado, en nuestro ejemplo sería fruteria\src\FrontendBundle\Resources\config\routing.yml .
 

En este fichero generamos las rutas, url´s que queremos que sean interpretados por nuestra aplicación y que realicen alguna acción (mostrar una web). En particular haremos que cuando la ruta de nuestra aplicación sea: www.midominio.com/mipagina se llame a la función mipaginainicialAction  que se encuentra en el fichero DefaultController (observa que las palabras Action y Controller no hay que indicarlas, se agregaran por convención del lenguaje al nombre de la función y al nombre del controlador).
 

frontal_homepage:
    path:     /
    defaults: { _controller: FrontalBundle:Default:index }

primera_ruta:
    path:     /mipagina
    defaults: { _controller: FrontalBundle:Default:mipaginainicial }  

Una vez realizado el «ruteo», vamos a programar la función mipaginainicialAction en el fichero controlador. En este ejemplo la función no hace nada espectacular, simplemente devuelve la compilación/renderización de una plantilla web.  El fichero controlador en nuestro ejemplo se encuentra en  fruteria\src\FrontendBundle\Controller\DefaultController.php .
 

render('FrontalBundle:Default:index.html.twig');
    }
	
    public function mipaginainicialAction()
    {
        return $this->render('FrontalBundle:Default:mipaginainicial_template.html.twig');
    }
}

Por último solo nos queda contruir la plantilla o template, en nuestro ejemplo se encuentra en fruteria\src\FrontalBundle\Resources\views\Default\mipaginainicial_template.html.twig y se trata de una template muy muy muy sencilla que nos da la bienvenida.
 




Bienvenidos al tutorial!

Una vez tenemos la estructura montada solo nos queda probar y observar nuestros resultados. A continuación te dejo el video con toda la explicación detallada, espero que os guste!
 

Te animo a que pruebes creando distintas rutas o creando distintas templates. Recuerda darle a like, compartir si te gusta,  dejar un comentario para darme feedback y saber en que puntos puedo mejorar.
Un saludo!
 

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *