而不是扩展标准控制器,我想将Twig注入到我的一个类中。在Symfony2中注入Twig作为服务
控制器:
namespace Project\SomeBundle\Controller;
use Twig_Environment as Environment;
class SomeController
{
private $twig;
public function __construct(Environment $twig)
{
$this->twig = $twig;
}
public function indexAction()
{
return $this->twig->render(
'SomeBundle::template.html.twig', array()
);
}
}
,然后在services.yml
我有以下几点:
project.controller.some:
class: Project\SomeBundle\Controller\SomeController
arguments: [ @twig ]
我得到的错误是:
SomeController :: __结构( )必须是Twig_Environment的一个实例,没有给出
但我通过config
传递@twig
。我看不到我做错了什么。
编辑:
添加在正确的代码 - 这就是解决了这一问题:
// in `routing.yml` refer to the service you defined in `services.yml`
project.controller.some
project_website_home:
pattern:/
defaults: { _controller: project.controller.some:index }
这看起来很老,但我想知道你是如何能够注册所有枝条扩展,在由SF2生成的代码具有 - > addExtension来动态添加这些代码。 – 2015-05-26 02:26:42