Comment obtenir lors de l'exécution, le nom de la route dans Symfony2 lors de l'utilisation de la yaml itinéraires description?

Ici vous pouvez trouver mon n-th question sur Symfony2.

Je travaille avec un la pagination bundle qui utilise le nom de la route prévue dans le routing.yml fichier.
De mon point de vue, cette approche n'est pas flexible et conduire à une sale de code, car si je change le nom de la route, puis j'ai regarder toutes les templates Twig ou des fichiers PHP pour mettre à jour le nom de la route. C'est ok pour les petites applications Web, mais fournira un bug pour des applications plus importantes et aussi besoin d'un lourd fardeau pour le développeur.

Donc, je me demandais de passer une variable de chaîne x à la Pager objet fourni par le ci-dessus mentionné bundle. La chaîne x doit être initialisé dans le contrôleur doit fournir la route voulue, nom donné dans le routing.yml fichier.

Permettez-moi de donner un exemple. Le fichier de routage est la suivante:

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

Alors connexes contrôleur est:

//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);  
  }
}

Puis, dans le template twig, le $pager reçoit le nom de la route qui se réfèrent à l'ensemble ci-dessus

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

Aucune idée de comment faire pour obtenir le 'AcmeTestBundle_listall' chaîne de valeur lors de l'exécution à l'intérieur du contrôleur?

OriginalL'auteur JeanValjean | 2012-04-27