Когда я столкнулся с точно такой же проблемой, может быть, я смогу помочь
То, что сказал Эльнур, прекрасно, и я просто попытаюсь привести пример из реальной жизни.
В моем случаеЯ хотел получить доступ к
$lucenemanager = $this->get('ivory.lucene.manager')
Даже при расширении контроллера я не мог заставить его работать, пока контроллер действительно обращался к контейнеру (я до сих пор не понял, почему)
В конфигурации.yml мой слушатель (searchindexer.listener) объявлен следующим образом:
services:
searchindexer.listener:
class: ripr\WfBundle\Listener\SearchIndexer
arguments:
luceneSearch: "@ivory_lucene_search"
tags:
- { name: doctrine.event_listener, event: postPersist }
Служба (ivory.lucene.search) передается в качестве аргумента в моем сервисе / слушателе.
Тогда в моем классе
protected $lucenemanager;
public function __construct($luceneSearch)
{
$this->lucenemanager = $luceneSearch;
}
Тогда вы можете использовать метод get против $ this