Integrates SimplePie RSS Parser into Symfony and setting up caching to the symfony cache folder.
This can be done in two different ways:
Method #1) Use composer
"require": {
"fkr/simplepie-bundle": "1.0.*@dev"
}
Method #2) Use deps file
[SimplePie]
git=git://github.com/simplepie/simplepie.git
target=simplepie
[FkrSimplePieBundle]
git=git://github.com/fkrauthan/FkrSimplePieBundle.git
target=bundles/Fkr/SimplePieBundle
Method #3) Use git submodules
git submodule add git://github.com/simplepie/simplepie.git vendor/simplepie
git submodule add git://github.com/fkrauthan/FkrSimplePieBundle.git vendor/bundles/Fkr/SimplePieBundle
This is not required if you installed using composer.
// app/autoload.php
$loader->registerNamespaces(array(
'Fkr' => __DIR__.'/../vendor/bundles',
// your other namespaces
));
$loader->registerPrefixes(array(
'SimplePie' => __DIR__.'/../vendor/simplepie/library',
// your other namespaces
));
// app/AppKernel.php
public function registerBundles()
{
return array(
// ...
new Fkr\SimplePieBundle\FkrSimplePieBundle(),
// ...
);
}
# app/config.yml
fkr_simple_pie:
cache_enabled: false
cache_dir: %kernel.cache_dir%/rss
cache_duration: 3600
idna_converter: ~ #default is false
- cache_enabled: [true or false] enables caching for the SimplePie class
- cache_dir: [any dir] setup the caching dir which SimplePie should use
- cache_duration: [secs] setting up caching for number of seconds.
- idna_converter: [true or false] enable the idna converter a Encoder/Decoder for Internationalized Domain Names
For more information about SimplePie's caching please visit the SimplePie wiki.
To get a configured SimplePie class instance just use the following code
$this->get('fkr_simple_pie.rss');
The service keeps only one instance of SimplePie. If you want to use multiple feeds over your application you have to clone
the instance to stop them interfering
$one = clone $this->get('fkr_simple_pie.rss');
$two = clone $this->get('fkr_simple_pie.rss');
Thats all. For the complete api visit the SimplePie api doc.