¿Cómo obtener en tiempo de ejecución el nombre de la ruta en Symfony2 al usar la descripción de las rutas de yaml?

Aquí puedes encontrar min-th pregunta sobre Symfony2.

Estoy trabajando con unpaquete de paginación que utiliza el nombre de ruta proporcionado en elrouting.yml expediente. Desde mi perspectiva, este enfoque no es flexible y da lugar a un código sucio, ya que si cambio el nombre de la ruta, tengo que mirar todas las plantillas Twig o los archivos PHP para actualizar el nombre de la ruta. Esto está bien para aplicaciones web pequeñas, pero proporcionará un error para aplicaciones más grandes y también necesitará una gran carga para el desarrollador.

Entonces, me preguntaba si pasar una variable de cadenax alPager objeto proporcionado por el paquete mencionado anteriormente. La cuerdax debe inicializarse dentro del controlador y debe proporcionar el nombre de ruta deseado como se indica en elrouting.yml expediente.

Déjame dar un ejemplo. El archivo de enrutamiento es el siguiente:

<code>//routing.yml
 AcmeTestBundle_listall:
pattern:  /test/page/{page}
defaults: { _controller: AcmeTestBundle:List:listall, page: 1 }
requirements:
    page:  \d+   
</code>

Entonces el controlador relacionado es:

<code>//use something....
class ListController extends Controller
{

  public function exampleAction($page)
  {
    $array = range(1, 100);
    $adapter = new ArrayAdapter($array);
    $pager = new Pager($adapter, array('page' => $page, 'limit' => 25));

    return array('pager' => $pager);  
  }
}
</code>

Luego, en la plantilla de ramita, la$pager recibe el nombre de la ruta que se refiere al paquete anterior

<code>{% if pager.isPaginable %}
   {{ paginate(pager, 'AcmeTestBundle_listall') }}
{% endif %}
{% for item in pager.getResults %}
   <p>{{ item }}</p>
{% endfor %}
</code>

¿Alguna idea de cómo obtener el valor de cadena 'AcmeTestBundle_listall' en tiempo de ejecución justo dentro del controlador?

Respuestas a la pregunta(1)

Su respuesta a la pregunta