Update core 8.3.0
This commit is contained in:
parent
da7a7918f8
commit
cd7a898e66
6144 changed files with 132297 additions and 87747 deletions
62
web/vendor/zendframework/zend-feed/doc/book/intro.md
vendored
Normal file
62
web/vendor/zendframework/zend-feed/doc/book/intro.md
vendored
Normal file
|
@ -0,0 +1,62 @@
|
|||
# Introduction
|
||||
|
||||
`Zend\Feed` provides functionality for consuming RSS and Atom feeds. It provides
|
||||
a natural syntax for accessing elements of feeds, feed attributes, and entry
|
||||
attributes. `Zend\Feed` also has extensive support for modifying feed and entry
|
||||
structure with the same natural syntax, and turning the result back into XML.
|
||||
In the future, this modification support could provide support for the Atom
|
||||
Publishing Protocol.
|
||||
|
||||
`Zend\Feed` consists of `Zend\Feed\Reader` for reading RSS and Atom feeds,
|
||||
`Zend\Feed\Writer` for writing RSS and Atom feeds, and `Zend\Feed\PubSubHubbub`
|
||||
for working with Hub servers. Furthermore, both `Zend\Feed\Reader` and
|
||||
`Zend\Feed\Writer` support extensions which allows for working with additional
|
||||
data in feeds, not covered in the core API but used in conjunction with RSS and
|
||||
Atom feeds.
|
||||
|
||||
In the example below, we demonstrate a simple use case of retrieving an RSS feed
|
||||
and saving relevant portions of the feed data to a simple PHP array, which could
|
||||
then be used for printing the data, storing to a database, etc.
|
||||
|
||||
> ## RSS optional properties
|
||||
>
|
||||
> Many *RSS* feeds have different channel and item properties available. The
|
||||
> *RSS* specification provides for many optional properties, so be aware of this
|
||||
> when writing code to work with *RSS* data. `Zend\Feed` supports all optional
|
||||
> properties of the core *RSS* and *Atom* specifications.
|
||||
|
||||
## Reading RSS Feed Data
|
||||
|
||||
```php
|
||||
// Fetch the latest Slashdot headlines
|
||||
try {
|
||||
$slashdotRss =
|
||||
Zend\Feed\Reader\Reader::import('http://rss.slashdot.org/Slashdot/slashdot');
|
||||
} catch (Zend\Feed\Reader\Exception\RuntimeException $e) {
|
||||
// feed import failed
|
||||
echo "Exception caught importing feed: {$e->getMessage()}\n";
|
||||
exit;
|
||||
}
|
||||
|
||||
// Initialize the channel/feed data array
|
||||
$channel = [
|
||||
'title' => $slashdotRss->getTitle(),
|
||||
'link' => $slashdotRss->getLink(),
|
||||
'description' => $slashdotRss->getDescription(),
|
||||
'items' => [],
|
||||
];
|
||||
|
||||
// Loop over each channel item/entry and store relevant data for each
|
||||
foreach ($slashdotRss as $item) {
|
||||
$channel['items'][] = [
|
||||
'title' => $item->getTitle(),
|
||||
'link' => $item->getLink(),
|
||||
'description' => $item->getDescription(),
|
||||
];
|
||||
}
|
||||
```
|
||||
|
||||
Your `$channel` array now contains the basic meta-information for the RSS
|
||||
channel and all items that it contained. The process is identical for Atom
|
||||
feeds since `Zend\Feed` provides a common feed API; i.e. all getters and
|
||||
setters are the same regardless of feed format.
|
Reference in a new issue