Symfony 2.4, el libro oficial

6.2. Funcionamiento interno del enrutamiento

Cuando el usuario realiza una petición a tu aplicación, esta contiene la dirección exacta del recurso que solicita el usuario. Esta dirección se conoce como URL (o URI), y podría ser /contacto, /blog/read-me, o cualquier otra cosa. Considera la siguiente petición HTTP de ejemplo:

GET /blog/my-blog-post

El objetivo del sistema de enrutado de Symfony2 es analizar esta URL y determinar qué controlador se debe ejecutar. El proceso completo consta de los siguientes pasos:

  1. La petición se procesa en el controlador frontal de Symfony2 (por ejemplo, en el archivo app.php).
  2. El núcleo de Symfony2 (conocido como kernel) solicita al enrutador que examine la petición.
  3. El enrutador busca qué patrón de las rutas de la aplicación coincide con la URL entrante y devuelve información sobre la ruta, incluyendo el controlador que se debe ejecutar.
  4. El núcleo de Symfony2 ejecuta el controlador, que en última instancia, devuelve un objeto Response.
Flujo de la petición en Symfony2

Figura 6.1 Flujo de la petición en Symfony2