0

我是 symfony2 的新手,很难将服务注入我的自定义类。以下是场景: 在 Bundle 中,我在其中创建了一个文件夹和一个类。在该包中,services.yml 具有以下代码

parameters:
    rc2ab_model.class: rc2ab\ShareBundle\Model\Rc2abModel
services:
    rc2ab_model:
        class: "%rc2ab_model.class%"
        arguments: ["@doctrine.orm.entity_manager"]

这是自定义类的构造函数

public function __construct($em) {

}

在此之后,当我在 DefaultController 中创建 Rc2abModel 类的对象时

$myObj = new Rc2abModel();

错误来了:

Warning: Missing argument 1 for rc2ab\ShareBundle\Model\Rc2abModel::__construct(), called in Default Controller....

我无法解决这个问题,我已经阅读了他们网站上的文档,所以请不要给我文档链接,我在这里尝试了其他解决方案,但似乎没有什么对我有用。请建议。

4

1 回答 1

2

在控制器中这样调用服务,您不必自己初始化它:

$myObj = $this->get('rc2ab_model');

它将产生具有来自服务注册的给定参数的对象^^

现在试试这个:

echo get_class($this->get('rc2ab_model')); exit;

// Display :
rc2ab\ShareBundle\Model\Rc2abModel
于 2013-10-19T10:44:20.083 回答