marcw / rss-writer
一个简单而强大的支持RSS扩展(如iTunes播客标签)的RSS2订阅源编写器
0.4.0
2017-04-01 11:53 UTC
Requires
- ext-xmlwriter: *
Requires (Dev)
- phpunit/phpunit: ^5.4
- symfony/debug: ^3.1
- symfony/http-foundation: ^3.1
- symfony/validator: ^3.1
- symfony/var-dumper: ^3.1
Suggests
- symfony/http-foundation: Enable streaming RSS response
- symfony/validator
This package is not auto-updated.
Last update: 2024-09-13 22:40:51 UTC
README
这是一个简单、强大且可完全自定义的RSS 2.0编写库,具有对iTunes播客标签和其他RSS扩展的原生支持。
为什么需要一个新的RSS编写库?
在我编写这个库的时候,现有的订阅源编写库的状态并不令人满意。我所发现的是,要么难以扩展,要么过于通用,或者没有利用最佳实践来减少第一次字节时间。
为什么我应该使用这个而不是其他库?
如果你想使用这个库,请
- RSS2订阅源(因为不支持其他类型的订阅源)。
- 为iTunes播客、Slash、Sy、DublinCreator、Atom或其他自定义扩展。
- 由于XML流而具有最佳性能(内存和TTFB)。
- 使用POPO进行面向对象的订阅源创建
我该如何安装它?
运行composer require marcw/rss-writer
。
它是如何工作的?
订阅源创建
查看这个文件。
Rss流式响应
查看这个文件。
Symfony桥接
HttpFoundation
该库为Symfony\Component\HttpFoundation\Response
类提供了一个扩展,用于向客户端流式传输rss响应。查看RssStreamedResponse.php
。您可以在控制器中这样使用它
use MarcW\RssWriter\Bridge\Symfony\HttpFoundation\RssStreamedResponse; public function myAction() { // $channel = ... (whatever you use to create your Channel object) return new RssStreamedResponse($channel, $this->get('marcw_rss_writer.rss_writer')); }
表单
您的表单中可以使用iTunes类别选择列表。请遵循以下示例
<?php namespace AppBundle\Form; use MarcW\RssWriter\Bridge\Symfony\Form\ChoiceList\Loader\ItunesCategoryChoiceLoader; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\Extension\Core\Type\ChoiceType; use Symfony\Component\Form\FormBuilderInterface; class MyFormType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { // ... $builder->add('category', ChoiceType::class, ['choice_loader' => new ItunesCategoryChoiceLoader()]) // ... } }
Symfony包
此库还提供了一个Symfony包。
将其添加到您的AppKernel.php
文件中。
new MarcW\RssWriter\Bundle\MarcWRssWriterBundle()
现在您可以使用marcw_rss_writer.rss_writer
服务。
我可以贡献力量吗?
当然可以!请随意报告问题、发送拉取请求或寻求帮助。
使用此库的项目
- Banditore 从您的GitHub星标仓库检索新版本,并将其放入RSS订阅源中。
授权
查看授权文件。