violin-516023_960_720

Realizó: Omar Leonardo Zambrano. Miembro Activo GLUD. Documento distribuido bajo licencia GNU Free Documentation License 1.3

Hola.

A continuación podrás encontrar un primer mini tutorial del uso de symfony, con un ejemplo básico y clásico como el ¡Hola Mundo!.

Objetivo. Acercarse al manejo del framework de PHP symfony

Symfony_Logo

Nota: Este tutorial no entrara en detalles de cada uno de las herramientas utilizadas y su significado. Ya que se quiere mostrar a traves de un ejemplo, uno de los mecanismos de routing o enrutamiento de paginas en symfony 2.

  • Creación del proyecto ¡hola mundo!

El primer paso a llevar a cabo es construir nuestro proyecto, el cual lo podemos hacer a través de la construcción de un bundle, para lo cual ejecutaremos en la consola de nuestro equipo la siguiente instrucción:

$ php app/console generate:bundle –namespace=Acme/HelloBundle –format=yml

Con la cual se crea un directorio dentro de nuestra carpeta principal de symfony:

/src/Acme/HelloBundle

Direct

El cual contiene todos los archivos de nuestro proyecto, adicionalmente , de forma automática se ha registrado nuestro proyecto en el núcleo del proyecto principal, esto es en el archivo /app/Appkernel.php

AppKernel

  • Creando la ruta:

El proyecto principal gestiona sus rutas de enrutamiento a través del archivo /app/config/routing.yml.Sin embargo este archivo se actualiza a través de la importación de la información de cada subproyecto desde los gestores de rutas de cada proyecto, tal gestor se encuentra en la dirección: /scr/Acme/HelloBundle/Resources/Config/routing.yml. 

Este archivo tiene la siguiente estructura:

Routing

En el cual se puede el nombre del proyecto corresponde a la primera linea del archivo, la segunda corresponde a la direccion URL del proyecto; la tercera linea corresponde a un array llamado defaults que especifica el controlador a ejecutar. Cabe resaltar que en la definicion de path se agredo {name} el cual cumple la función de comodin, que se entiende como que cualquier valor dado redirigirá a la misma ubicación de proyecto.

  • El controlador

En este momento hemos terminado el proceso de routing de nuestro proyecto sin embargo no tal enrutamiento no gestiona el consumo de ningun controlador por lo cual no sera posible visualizar el efecto del trabajo desarrollado. Por lo cual procedemos a realizar un controlador que ejecute alguna tarea para que se pueda ver el funcionamiento:

Procedemos a realizar un controlador, el cual lo ubicaremos: /scr/Acme/HelloBundle/Controller:

Controller

El cual es la estructura básica de un controlador en PHP que da como resultado un objecto tipo respuesta para Sympony, se puede ver en la imagen anterior que la función indexAction retorno un objeto tipo html donde se muestra en pantalla la frase “Hello” mas el valor de la variable name.  Ya por ultimo es necesario indicar en el método de enrutamineto cual es el controlador que va hacer utilizado, por lo cual es necesario modificar el archivo routing.yml de la siguiente manera:

RoutingF

En donde podemos observar que se le indica el nombre del proyecto, el nombre del controlador y la función a ejecutar cada vez que se direccione a tal URL, y a continuación el resultado final:

Resultado

Referencias:

http://gitnacho.github.io/symfony-docs-es/book/page_creation.html

https://librosweb.es/libro/symfony_2_x/capitulo_4/antes_de_empezar_crea_el_bundle.html