[英]Symfony2 How to use parameters.yml in a controller as a variable
我正在使用Symfony2项目。
我试图在parameters.yml中使用一些数据,并在我的一个控制器中使用这些数据。
我已阅读本 Symfony2的文档中大约getParameters()
但它不工作。
在我的parameters.yml中,我做到了这一点:
sitemap_root_url: http:/example.co.uk/news/
在我的控制器中,我正在尝试这个:
$this->test = $this->container->getParameters('sitemap_root_url');
这是我得到的错误:
Notice: Undefined property $container
试试$this->container->getParameter('sitemap_root_url');
它适用于我,我使用Symfony 2.5。
如果要在控制器中使用容器,可以进行扩展
Symfony \\ Bundle \\ FrameworkBundle \\ Controller \\ Controller(Symfony基本控制器)。
// src/AppBundle/Controller/HelloController.php
namespace AppBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class HelloController extends Controller
{
// ...
}
然后你就可以获得你的财产。 适用于我的示例控制器:
namespace AppBundle\Controller;
use Symfony\Component\HttpFoundation\Response
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class HelloController extends Controller
{
public function indexAction()
{
return new Response(
$this->container->getParameter('sitemap_root_url');
);
}
}
显然$container
没有在你的控制器中声明,如果你想访问控制器你可以扩展Symfony\\Bundle\\FrameworkBundle\\Controller\\Controller
然后使用$this->container->getParameter('sitemap_root_url')
否则,您必须将控制器声明为服务并注入容器。
嘿,我必须回答(我想编辑第一个答案),但你的getParameters()
有一个不必要的s ,这就是我猜的所有问题;)
对于symfony 2.6
$this->container->getParameter('api_key');
以上symfony 2.6
$this->getParameter('api_key');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.