xref: /dokuwiki/vendor/simplepie/simplepie/README.markdown (revision 8e88a29b81301f78509349ab1152bb09c229123e)
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