php - 如何在 Symfony 4 中调用服务?
问题描述
我想在 Symfony 4 中生成 XML 提要,我认为FeedBundle对我来说已经足够了。我安装和配置它没有任何问题,当我想从控制器调用服务时,我的问题就出现了,他的文档告诉执行以下操作:
$feed = $this->get('eko_feed.feed.manager')->get('article');
但据我所知,在 Symfony 4 中这不是正确的做法。有人可以让我知道正确的方法吗?我只需要知道如何从控制器调用服务,仅此而已。
多谢你们
解决方案
您可以尝试在控制器中注入服务。
尝试添加 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'));
}
看这里
推荐阅读
- javascript - 如何在我的选项测验中确定分数?
- reactjs - 在material-ui\core\Slider中点击获取值
- laravel - 带有 Laravel 8 的简单上传适配器插件 CKEditor 5
- php - 如何从php中的数组中删除部分值
- python - 从 Python 中的类返回列表或其他数据结构
- c++ - C++ 事件系统设置
- powerbi - Power Bi REST API -> 网关 -> 添加具有 ReadOverrideEffectiveIdentity 访问权限的数据源用户
- python - 解析 Asynchronous Amazon Transcribe Streaming SDK for Python 返回的说话者标签
- imageview - 在Android中使用加速度计时ImageView图像走出屏幕
- c# - 上传文件时cors和jquery出现问题