[英]Reading parameter in PHP from YAML to handle routing in Symfony2
我有一個PHP文件,可以處理Symfony2項目中的路由,並且運行良好,但是,現在,我試圖添加一個參數,以將其從app / config / routing.yaml發送到我的php文件中
#app/config/routing.yaml
app:
host: "{ _locale }.*"
defaults: { _locale: es}
resource: "@AppBundle/config/routing.php"
type: php
requirements: { _locale: en|es }
fos_user:
resource: "@FOSUserBundle/Resources/config/routing/all.xml"
我的疑問是如何從php路由文件中讀取_locale。 我嘗試使用$req= new \\Symfony\\Component\\HttpFoundation\\Request(); $req->getLocale()
$req= new \\Symfony\\Component\\HttpFoundation\\Request(); $req->getLocale()
但總是返回相同的值
您不能創建Request的新實例。 您需要由Symfony2本身創建的Request實例。
public function anyAction(Request $request)
{
echo $request->getLocale();
}
或者,您可以嘗試控制器操作參數。
public function anyAction($_locale)
{
}
您的要求也有誤- requirements: {_locale: en|es }
而不是requirements: {locale: en|es }
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.