Practical symfony

Páginas: 5 (1006 palabras) Publicado: 21 de junio de 2011
his version of symfony is not maintained anymore.
If some of your projects still use this version, consider upgrading as soon as possible.
Practical symfony (Propel edition)
Support symfony!
Buy this book
or donate.
Buy Practical symfony (Propel edition) from amazon.com

Si has completado el día 4, ahora deberías estar familiarizado con el patrón MVC y deberías sentir más y más naturalesta forma de codificación. Dedica un poco más de tiempo con esto para no tener que volver y mirar hacia atrás. Para practicar un poco el día de ayer, hemos personalizado la páginas Jobeet y en el proceso, también examinamos varios conceptos de Symfony, como el layout, los helpers, y los slots.

Hoy nos sumergiremos en el maravilloso mundo del Framework de Enrutamiento de Symfony .
Las URLs

Sihaces clic en un puesto de trabajo en la página principal Jobeet, la URL se parece a esto: /job/show/id/1. Si ya has desarrollado sitios web PHP, probablemente estés más acostumbrados a las URL como /job.php?id=1. ¿Cómo Symfony hace para que funcione? ¿Cómo Symfony determina la acción a llamar basándose en esta URL? ¿Porqué el id de un job se obtiene con $request->getParameter('id')? Hoy, vamos aresponder a todas estas preguntas.

Pero primero, vamos a hablar acerca de las URL y exactamente que son ellas. En un contexto web, una URL es el identificador único de un recurso web. Cuando accedes a una URL, estás pidiendo al navegador obtener un recurso identificado por esa URL. Por lo tanto, como la dirección URL es la interfaz entre la página web y el usuario, debe transmitir informaciónsignificativa sobre algún recurso al que hace referencia. Pero las "tradicionales" URLs realmente no describen al recurso, sino que exponen la estructura interna de la aplicación. Al usuario no le importa que tu sitio web sea desarrollado con el lenguaje PHP o que el puesto de trabajo tiene un cierto identificador en la base de datos. Exponer el funcionamiento interno de tu aplicación es tambiénes bastante malo en lo que medida de seguridad se refiere: ¿Qué pasa si el usuario intenta adivinar la dirección URL de los recursos que no tienen acceso? Así es, el desarrollador debe asegurarlos de la manera adecuada, pero más te vale ocultar la información sensible.

Las URL son tan importantes en Symfony que tiene todo un framework dedicado a su gestión: el framework de enrutamiento. Elenrutamiento gestiona el URI interno y la URL externa. Cuando una petición llega, el enrutamiento analiza la URL y la convierte en un URI interno.

Ya has visto el URI interno de la página de puestos de trabajo en la plantilla showSuccess.php:

'job/show?id='.$job->getId()

El helper url_for() convierte éste URI interno a una correcta URL:

/job/show/id/1

El URI interno está hecho de variaspartes: job es el módulo, show es la acción y la cadena de consulta añade los parámetros a pasar a la acción. El modelo genérico para los URIs internos es:

MÓDULO/ACCIÓN?clave=valor&clave_1=valor_1&...

Como el enrutamiento de Symfony es un proceso bidireccional, puedes cambiar las URLs sin cambiar la implementación técnica. Esta es una de las principales ventajas del patrón de diseño sobrecontrolador frontal.
La Configuración del Enrutamiento

El mapeo entre los URIs internos y las URLs externas esta listo en el archivo de configuración routing.yml:

# apps/frontend/config/routing.yml
homepage:
url: /
param: { module: default, action: index }

default_index:
url: /:module
param: { action: index }

default:
url: /:module/:action/*

El archivorouting.yml describe las rutas. Una ruta tiene un nombre (homepage), un patrón (/:module/:action/*), y algunos parámetros (bajo la clave param).

Cuando una petición llega, el Enrutamiento trata de hacerla coincidir la URL con un patrón dado. La primera ruta que coincida gana, por lo tanto el orden en routing.yml es importante. Echemos un vistazo a algunos ejemplos para comprender mejor cómo...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Symfony
  • practicalo
  • symfony
  • Symfony or not symfony
  • Symfony framework
  • Practical situation
  • Practical work
  • Symfony

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS