我有一个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()
,但它总是返回相同的
答案 0 :(得分:0)
您无法创建新的Request实例。您需要Symfony2自己创建的Request实例。
public function anyAction(Request $request)
{
echo $request->getLocale();
}
或者您可以尝试控制器操作参数。
public function anyAction($_locale)
{
}
您的要求也有误 - requirements: {_locale: en|es }
而不是requirements: {locale: en|es }
。