Symfony控制器 - 添加属性

时间:2014-01-08 09:27:46

标签: php symfony

我有一个自定义控制器,可以扩展controllerSymfony\Bundle\FrameworkBundle\Controller\Controller),后者又扩展ContainerAwareSymfony\Component\DependencyInjection\ContainerAware)。
我正在使用的所有功能;

$foo = $this->get('foo');

所以我希望能够像这样构建我的课程;

<?php
class FooController extends Controller
{
    private $fooManager;

    function indexAction()
    {
        // ...
        $this->fooManager->getAllFoo($scope);
        // ...
    }
}

在我的自定义类中添加构造函数不起作用,因为ContainerAwaresetContainer(ContainerInterface $container = null)函数中设置了容器。
我试过在我的控制器中覆盖这个功能,但仍然没有用。

我该如何实现?

1 个答案:

答案 0 :(得分:2)

您正在寻找这个 - http://symfony.com/doc/current/cookbook/controller/service.html

您需要将控制器定义为服务,并将dependecys和类注入到构造函数中。如果您打算使用容器,那将很难,因为您需要调用setContainer方法(可以从服务配置中完成)。

的问候, 彼得·