Como obter no tempo de execução o nome da rota no Symfony2 ao usar a descrição das rotas yaml?

Aqui você pode encontrar meun-a questão no Symfony2.

Estou trabalhando com umpacote de paginação que usa o nome da rota fornecido norouting.yml Arquivo. Do meu ponto de vista, essa abordagem não é flexível e leva a um código sujo, já que, se eu alterar o nome da rota, terei que examinar todos os modelos Twig ou arquivos PHP para atualizar o nome da rota. Isso é aceitável para pequenos aplicativos da Web, mas fornecerá um erro para aplicativos maiores e também exigirá um alto ônus para o desenvolvedor.

Então, eu queria saber passar uma variável de stringx aoPager objeto fornecido pelo pacote mencionado acima. A cordax deve ser inicializado dentro do controlador e deve fornecer o nome da rota desejada, conformerouting.yml Arquivo.

Deixe-me dar um exemplo. O arquivo de roteamento é o seguinte:

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

Então o controlador relacionado é:

<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>

Então, no modelo de galho, o$pager recebe o nome da rota que se refere ao pacote acima

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

Alguma idéia de como obter o valor da string 'AcmeTestBundle_listall' em tempo de execução dentro do controlador?

questionAnswers(1)

yourAnswerToTheQuestion