2015-11-29 3 views
0

У меня возникли проблемы с моим проектом Symfony2. В одном окне я создал две службы: MainService и CurlService. Я собираюсь использовать одну функцию из CurlService в MainService. Как я могу это сделать?Услуги Symfony2

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

Вам необходимо ввести CurlService в MainService в services.yml.

Если вы не знаете, как разместить важную часть ваших услуг.yml (т. Е. Определяется MainService).

EDIT: Смотрите здесь, как позвонить в службу впрыскивается: http://symfony.com/doc/current/book/service_container.html#referencing-injecting-services

EDIT после просмотра services.yml: Я думаю, вы должны использовать ключевое слово arguments вместо calls. Затем получите «аргумент» (т. Е. CurlService) в конструкторе MainService и назначьте его $this->curlService.

+0

ОК, все сделано. –

+0

Thx, он работает :) –

Смежные вопросы