我想看看它是如何工作的。特別是如果它正在對「_」進行爆炸,或者它正在根據傳入的參數搜索等效密鑰的路由。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;
爲什麼要Symfony的2應爆炸'_'?它只是在路由名稱上掠奪,如果路由不存在則拋出異常。 – gremo 2012-08-06 20:13:06