2012-08-06 80 views
-1

我想看看它是如何工作的。特別是如果它正在對「_」進行爆炸,或者它正在根據傳入的參數搜索等效密鑰的路由。symfony 2 path()方法定義在哪裏

我搜索了文檔,'網絡和我的代碼庫,除關於它的居住地點沒有太多的信息。 symfony文檔在構建鏈接時使用它。

{# src/Acme/TaskBundle/Resources/views/Default/new.html.twig #} 
    <form action="{{ path('task_new') }}" method="post" {{ form_enctype(form) }}> 
     {{ form_widget(form) }} 

     <input type="submit" /> 
    </form> 

看起來它使用路由文件的密鑰。所以下面的代碼:

{{ path('_welcome') }} 

將尋找與「_welcome」在你的路由的主要路由。

YAML

_welcome: 
     pattern: /
     defaults: { _controller: AcmeDemoBundle:Main:homepage } 

PHP

use Symfony\Component\Routing\RouteCollection; 
    use Symfony\Component\Routing\Route; 

    $collection = new RouteCollection(); 
    $collection->add('_welcome', new Route('/', array(
     '_controller' => 'AcmeDemoBundle:Main:homepage', 
    ))); 

    return $collection;  
+0

爲什麼要Symfony的2應爆炸'_'?它只是在路由名稱上掠奪,如果路由不存在則拋出異常。 – gremo 2012-08-06 20:13:06

回答