Symfony2服务

时间:2015-11-29 18:17:53

标签: symfony service

我在Symfony2项目上遇到了困难。在一个边界中,我创建了两个服务:MainService和CurlService。我将在MainService中使用CurlService中的一个函数。我怎么能这样做?

    CronData:
    class: Page\MainBundle\Service\CurlService
    calls:        
        - [setEntityManager, ["@doctrine.orm.entity_manager"]]   
mainData:
    class: Page\MainBundle\Service\MainService
    calls:        
        - [setEntityManager, ["@doctrine.orm.entity_manager"], [@CronData]]

我试过这段代码,但我不知道如何在MainService文件中引用该函数。

1 个答案:

答案 0 :(得分:1)

您需要将CurlService注入MainService中的services.yml

如果你不知道怎么做,请发布你的services.yml的重要部分(即定义MainService的地方)。

编辑:请参阅此处了解如何拨打注入的服务:http://symfony.com/doc/current/book/service_container.html#referencing-injecting-services

看到你的服务后编辑。我想你需要使用关键字arguments而不是calls。然后在MainService的构造函数中接收“参数”(即CurlService)并将其分配给$this->curlService