[英]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.