fkr / simplepie-bundle
Integrates SimplePie into Symfony
Installs: 129 722
Dependents: 0
Suggesters: 0
Security: 0
Stars: 11
Watchers: 4
Forks: 5
Open Issues: 0
Type:symfony-bundle
Requires
- php: >=5.3.2
- simplepie/simplepie: ~1.3
- symfony/framework-bundle: ~2.6|~3.0|~4.0|~5.0|~6.0
README
Integrates SimplePie RSS Parser into Symfony and setting up caching to the symfony cache folder.
Installation
Bring in the vendor libraries
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
Register the SimplePie and Fkr namespaces
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
));
Add SimplePieBundle to your application kernel
// app/AppKernel.php
public function registerBundles()
{
return array(
// ...
new Fkr\SimplePieBundle\FkrSimplePieBundle(),
// ...
);
}
Configuration
# 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.
Usage
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.