1SimplePie 2========= 3 4SimplePie is a very fast and easy-to-use class, written in PHP, that puts the 5'simple' back into 'really simple syndication'. Flexible enough to suit 6beginners and veterans alike, SimplePie is focused on [speed, ease of use, 7compatibility and standards compliance][what_is]. 8 9[what_is]: http://simplepie.org/wiki/faq/what_is_simplepie 10 11 12Requirements 13------------ 14* PHP 7.2+ (Required since SimplePie 1.8.0) 15* libxml2 (certain 2.7.x releases are too buggy for words, and will crash) 16* One of iconv, mbstring or intl extensions 17* Optionally, intl extension, [symfony/polyfill-intl-idn](https://github.com/symfony/polyfill-intl-idn) or cURL extension built with IDN support to support IDNs 18* cURL or fsockopen() 19* PCRE support 20 21PSR-18: HTTP Client support 22-------------- 23 24Since SimplePie 1.9.0 you can use a [PSR-18](https://www.php-fig.org/psr/psr-18/) HTTP client like [Guzzle](https://guzzlephp.org) 25or [every other implementation](https://packagist.org/providers/psr/http-client-implementation). 26Please note that you would also need [PSR-17](https://www.php-fig.org/psr/psr-17/) implementations of `RequestFactoryInterface` and an `UriFactoryInterface` implementation. 27 28```php 29$simplepie = new \SimplePie\SimplePie(); 30$simplepie->set_http_client( 31 new \GuzzleHttp\Client(), 32 new \GuzzleHttp\Psr7\HttpFactory(), 33 new \GuzzleHttp\Psr7\HttpFactory(), 34); 35``` 36 37PSR-16: Caching support 38-------------- 39 40Since SimplePie 1.8.0 you can use the [PSR-16](https://www.php-fig.org/psr/psr-16/) cache from 41[Symfony](https://symfony.com/doc/current/components/cache.html) 42or [every other implementation](https://packagist.org/providers/psr/simple-cache-implementation). 43 44```php 45$simplepie = new \SimplePie\SimplePie(); 46$simplepie->set_cache( 47 new \Symfony\Component\Cache\Psr16Cache( 48 new \Symfony\Component\Cache\Adapter\FilesystemAdapter() 49 ), 50); 51``` 52 53What comes in the package? 54-------------------------- 551. `src/` - SimplePie classes for use with the autoloader 562. `autoloader.php` - The SimplePie Autoloader if you want to use the separate 57 file version. 583. `README.markdown` - This document. 594. `LICENSES/BSD-3-Clause.txt` - A copy of the BSD license. 605. `compatibility_test/` - The SimplePie compatibility test that checks your 61 server for required settings. 626. `demo/` - A basic feed reader demo that shows off some of SimplePie's more 63 noticeable features. 647. `build/` - Scripts related to generating pieces of SimplePie 658. `test/` - SimplePie's unit test suite. 66 67### Where's `simplepie.inc`? 68Since SimplePie 1.3, we've split the classes into separate files to make it easier 69to maintain and use. 70 71If you'd like a single monolithic file, see the assets in the 72[releases](https://github.com/simplepie/simplepie/releases), or you can 73run `php build/compile.php` to generate `SimplePie.compiled.php` yourself. 74 75To start the demo 76----------------- 771. Upload this package to your webserver. 782. Make sure that the cache folder inside of the demo folder is server-writable. 793. Navigate your browser to the demo folder. 80 81 82Need support? 83------------- 84For further setup and install documentation, function references, etc., visit 85[the wiki][wiki]. If you're using the latest version off GitHub, you can also 86check out the [API documentation][]. 87 88If you can't find an answer to your question in the documentation, head on over 89to one of our [support channels][]. For bug reports and feature requests, visit 90the [issue tracker][]. 91 92[API documentation]: http://dev.simplepie.org/api/ 93[wiki]: http://simplepie.org/wiki/ 94[support channels]: http://simplepie.org/support/ 95[issue tracker]: http://github.com/simplepie/simplepie/issues 96 97 98Project status 99-------------- 100SimplePie is currently maintained by Malcolm Blaney. 101 102As an open source project, SimplePie is maintained on a somewhat sporadic basis. 103This means that feature requests may not be fulfilled straight away, as time has 104to be prioritized. 105 106If you'd like to contribute to SimplePie, the best way to get started is to fork 107the project on GitHub and send pull requests for patches. When doing so, please 108be aware of our [coding standards](http://simplepie.org/wiki/misc/coding_standards). 109 110The main development for the next minor release happens in `master` branch. 111Please create your pull requests primarily against this branch. 112 113We do not actively provide bug fixes or security fixes for older versions. Nevertheless, 114you are welcome to create backport PRs if you still need support for older PHP versions. 115Please open your PR against the appropriate branch. 116 117| branch | requires | 118|----------------------------------------------------------------------------|-------------| 119| [master](https://github.com/simplepie/simplepie/tree/master) | PHP 7.2.0+ | 120| [one-dot-seven](https://github.com/simplepie/simplepie/tree/one-dot-seven) | PHP 5.6.0+ | 121| [one-dot-three](https://github.com/simplepie/simplepie/tree/one-dot-three) | PHP 5.2.0+ | 122 123 124Authors and contributors 125------------------------ 126### Current 127* [Malcolm Blaney][] (Maintainer, support) 128 129### Alumni 130* [Ryan McCue][] (developer, support) 131* [Ryan Parman][] (Creator, developer, evangelism, support) 132* [Sam Sneddon][] (Lead developer) 133* [Michael Shipley][] (Submitter of patches, support) 134* [Steve Minutillo][] (Submitter of patches) 135 136[Malcolm Blaney]: https://mblaney.xyz 137[Ryan McCue]: http://ryanmccue.info 138[Ryan Parman]: http://ryanparman.com 139[Sam Sneddon]: https://gsnedders.com 140[Michael Shipley]: http://michaelpshipley.com 141[Steve Minutillo]: http://minutillo.com/steve/ 142 143 144### Contributors 145For a complete list of contributors: 146 1471. Pull down the latest SimplePie code 1482. In the `simplepie` directory, run `git shortlog -ns` 149 150 151License 152------- 153[New BSD license](http://www.opensource.org/licenses/BSD-3-Clause) 154