首页 > 解决方案 > 如何在 Symfony 4 中调用服务?

问题描述

我想在 Symfony 4 中生成 XML 提要,我认为FeedBundle对我来说已经足够了。我安装和配置它没有任何问题,当我想从控制器调用服务时,我的问题就出现了,他的文档告诉执行以下操作:

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

但据我所知,在 Symfony 4 中这不是正确的做法。有人可以让我知道正确的方法吗?我只需要知道如何从控制器调用服务,仅此而已。

多谢你们

标签: phpsymfonyservicesymfony-4.2

解决方案


您可以尝试在控制器中注入服务。

尝试添加 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'));
    }

这里


推荐阅读