nekland / feed-bundle
此包已弃用,不再维护。未建议替代包。
symfony 的订阅管理器集成
2.0.6
2013-05-15 20:45 UTC
Requires
- php: >=5.3.2
This package is auto-updated.
Last update: 2021-09-20 10:23:48 UTC
README
版本 2.0 变更
- 针对 Symfony 2.1 进行测试
- 添加了 composer 支持
- 命名空间已更改
- (版本更改)
版本 1.1 变更
- 在配置中,您需要定义一个 URL,而不是路由。(也许是另一个网站?您可以输入任何内容)
- ItemInterface 中的 getFeedRoute 方法变为 getFeedRoutes(它是一个路由数组)。更多信息,请参阅 ItemInterface 或 wiki。
- 为命名您的订阅,您必须在文件名中添加 |format|(在您想要的位置)
版本 1.0 警告:新版本(1.1)进行了重大更改,但不是在代码逻辑上。
特性
- 可以制作 atom 和 rss 2.0 订阅
- 支持多个订阅
- 支持编辑订阅
- 可扩展
- 即时和保存时订阅生成
阅读有关配置和更多 wiki 内容
https://github.com/Nekland/FeedBundle/wiki
配置
app/config.yml
nekland_feed: feeds: my_feed: class: My\MyBundle\Entity\Post title: 'My fabulous posts' description: 'Here is my very fabulous posts' url: 'http://my-website.com' language: 'fr' my_feed2: class: My\MyBundle\Entity\Comment title: 'My fabulous comments' description: 'Here is my very fabulous comments' url: 'http://my-website.com' language: 'fr'
可选(默认值)
nekland_feed: feeds: ... renderers: rss: id: nekland_feed.renderer.rss loaders: rss_file: id: nekland_feed.loader.rss_file
请注意,如果您想更改文件保存路径,您可以重新定义此选项
# Default path nekland_feed.feeds.base_path: %kernel.root_dir%/../web/feeds
模型
要使用 NeklandFeedBundle,您必须有一个实现 ItemInterface 的类。在大多数情况下,您可以使用您的实体/文档来完成此操作
class Post implements ItemInterface { //..... }
使用方法
检索您的订阅实例
$container->get('nekland_feed.factory')->get('my_feed');
如果您的控制器扩展了基础 Symfony 控制器,您可以使用
$this->get('nekland_feed.factory')->get('my_feed');
渲染订阅
$factory->render('my_feed', 'renderer');
添加条目
/** @var $post My\MyBundle\Entity\Post */ $factory->load('my_feed', 'loader'); $factory->get('my_feed')->add($post);
测试
NeklandFeedBundle 包含一些 behat 风格的测试。安装 BehatBundle 并使用以下命令启动它:
app/console -e=test behat @NeklandFeedBundle
待办事项
- 注解配置
作者
贡献者
- Yohan Giarelli yohan@giarelli.org