Как позвонить в сервис Symfony 4? - PullRequest
0 голосов
/ 22 сентября 2019

Я хочу генерировать XML-каналы в Symfony 4, и я думаю, что FeedBundle более чем достаточно для меня.Я установил и настроил его без каких-либо проблем, моя проблема возникает, когда я хочу вызвать сервис из контроллера, его документация говорит следующее:

$feed = $this->get('eko_feed.feed.manager')->get('article');

Но в Symfony 4 это неправильный способделай, насколько я знаю.Может ли кто-нибудь дать мне знать, как это сделать?Мне нужно только знать, как вызвать службу с контроллера, не более того.

Спасибо, ребята

1 Ответ

0 голосов
/ 22 сентября 2019

Вы можете попробовать ввести сервис в контроллере.

Попробуйте добавить в services.yaml:

services:

        Eko\FeedBundle\Feed\FeedManager: '@eko_feed.feed.manager'

В контроллере:

use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;


    public function index(Request $request, \Eko\FeedBundle\Feed\FeedManager $feedmanager)
    {
        $articles = $this->getDoctrine()->getRepository('App:YourEntity')->findAll();

        $feed = $feedmanager->get('article');
        $feed->addFromArray($articles);

        return new Response($feed->render('rss'));
    }

См. здесь

...