我在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文件中引用该函数。
答案 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
。