<bdo id='pQUqu'></bdo><ul id='pQUqu'></ul>
      1. <i id='pQUqu'><tr id='pQUqu'><dt id='pQUqu'><q id='pQUqu'><span id='pQUqu'><b id='pQUqu'><form id='pQUqu'><ins id='pQUqu'></ins><ul id='pQUqu'></ul><sub id='pQUqu'></sub></form><legend id='pQUqu'></legend><bdo id='pQUqu'><pre id='pQUqu'><center id='pQUqu'></center></pre></bdo></b><th id='pQUqu'></th></span></q></dt></tr></i><div id='pQUqu'><tfoot id='pQUqu'></tfoot><dl id='pQUqu'><fieldset id='pQUqu'></fieldset></dl></div>
        <legend id='pQUqu'><style id='pQUqu'><dir id='pQUqu'><q id='pQUqu'></q></dir></style></legend>

      2. <small id='pQUqu'></small><noframes id='pQUqu'>

        <tfoot id='pQUqu'></tfoot>
      3. 使用 yaml 路由描述时,如何在运行时获取 Symfony2 中的路由名称?

        How to get at runtime the route name in Symfony2 when using the yaml routes description?(使用 yaml 路由描述时,如何在运行时获取 Symfony2 中的路由名称?)

          • <small id='H0H5i'></small><noframes id='H0H5i'>

                <bdo id='H0H5i'></bdo><ul id='H0H5i'></ul>
                  <tbody id='H0H5i'></tbody>
                <legend id='H0H5i'><style id='H0H5i'><dir id='H0H5i'><q id='H0H5i'></q></dir></style></legend><tfoot id='H0H5i'></tfoot>

                • <i id='H0H5i'><tr id='H0H5i'><dt id='H0H5i'><q id='H0H5i'><span id='H0H5i'><b id='H0H5i'><form id='H0H5i'><ins id='H0H5i'></ins><ul id='H0H5i'></ul><sub id='H0H5i'></sub></form><legend id='H0H5i'></legend><bdo id='H0H5i'><pre id='H0H5i'><center id='H0H5i'></center></pre></bdo></b><th id='H0H5i'></th></span></q></dt></tr></i><div id='H0H5i'><tfoot id='H0H5i'></tfoot><dl id='H0H5i'><fieldset id='H0H5i'></fieldset></dl></div>

                  本文介绍了使用 yaml 路由描述时,如何在运行时获取 Symfony2 中的路由名称?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  在这里你可以找到我关于 Symfony2 的第 n 个问题.

                  Here you can find my n-th question on Symfony2.

                  我正在使用 分页包,它使用 routing.yml<中提供的路由名称/代码>文件.从我的角度来看,这种方法不灵活并且导致代码脏,因为如果我更改路由的名称,那么我必须查看所有 Twig 模板或 PHP 文件来更新路由名称.这对于小型 Web 应用程序来说是可以的,但是对于较大的应用程序会提供这样的 bug,并且对开发人员来说也需要很大的负担.

                  I'm working with a pagination bundle that uses the route name provided in the routing.yml file. From my perspective, this approach is not flexible and lead to a dirty code, since if I change the name of the route, then I have to look at all the Twig templates or PHP files to update the route name. This is ok for small Web applications, but will provide such a bug for larger applications and also need an high burden for the developer.

                  所以,我想将字符串变量 x 传递给上述包提供的 Pager 对象.字符串 x 应该在控制器中初始化,并且必须提供在 routing.yml 文件中给出的所需路由名称.

                  So, I was wondering to pass a string variable x to the Pager object provided by the above mentioned bundle. The string x should be initialized within the controller and has to provide the desired route name as given in the routing.yml file.

                  让我举个例子.路由文件如下:

                  Let me give an example. The routing file is the following:

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

                  那么相关的控制器是:

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

                  然后,在 twig 模板中,$pager 接收引用上述捆绑包的路由名称

                  Then, in the twig template, the $pager receives the route name that refer to the above bundle

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

                  知道如何在控制器内部的运行时获取AcmeTestBundle_listall"字符串值吗?

                  Any idea of how to get the 'AcmeTestBundle_listall' string value at runtime just inside the controller?

                  推荐答案

                  您可以使用 twig 中可用的 app 全局变量从请求中获取当前路由.

                  You can use the app global variable that is available in twig to get the current route from the request.

                  {% if pager.isPaginable %}
                     {{ paginate(pager, app.request.get('_route') }}
                  {% endif %}
                  

                  更多关于app 这里 和 这里.

                  这篇关于使用 yaml 路由描述时,如何在运行时获取 Symfony2 中的路由名称?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  How do I parse XML containing custom namespaces using SimpleXML?(如何使用 SimpleXML 解析包含自定义命名空间的 XML?)
                  SimpleXML SOAP response Namespace issues(SimpleXML SOAP 响应命名空间问题)
                  Problems with PHP namespaces and built-in classes, how to fix?(PHP 命名空间和内置类的问题,如何解决?)
                  Use php namespace inside function(在函数内部使用 php 命名空间)
                  unexpected #39;use#39; (T_USE) when trying to use composer(尝试使用作曲家时意外的“使用(T_USE))
                  PHP adding custom namespace using autoloader from composer(PHP使用来自作曲家的自动加载器添加自定义命名空间)
                • <i id='xAZZW'><tr id='xAZZW'><dt id='xAZZW'><q id='xAZZW'><span id='xAZZW'><b id='xAZZW'><form id='xAZZW'><ins id='xAZZW'></ins><ul id='xAZZW'></ul><sub id='xAZZW'></sub></form><legend id='xAZZW'></legend><bdo id='xAZZW'><pre id='xAZZW'><center id='xAZZW'></center></pre></bdo></b><th id='xAZZW'></th></span></q></dt></tr></i><div id='xAZZW'><tfoot id='xAZZW'></tfoot><dl id='xAZZW'><fieldset id='xAZZW'></fieldset></dl></div>

                        <bdo id='xAZZW'></bdo><ul id='xAZZW'></ul>
                          <tbody id='xAZZW'></tbody>
                      • <legend id='xAZZW'><style id='xAZZW'><dir id='xAZZW'><q id='xAZZW'></q></dir></style></legend>

                          <small id='xAZZW'></small><noframes id='xAZZW'>

                          <tfoot id='xAZZW'></tfoot>