Чтение каналов с помощью SimplePie

1. Для работы SimplePie требуется несколько библиотек (рис. 7.4). Если вы
подготовили Apache и РНР так, как было объяснено в главе 1, у вас должны быть
установлены и активизированы все необходимые библиотеки, кроме cURL. Для
активации cURL откройте конфигурационный файл php.ini (по умолчанию
находится в папке \xampp\apache\bin), снимите комментарий со следующей
строки, удалив в ее начале точку с запятой, и затем перезапустите Apache:
extension=php_curl.dll
2. Загрузите пакет SimplePie по адресу http://simplepie.org/downloads/.
3. Распакуйте загруженный файл с именем наподобие simplepie_ версия, zip куда-
нибудь на жесткий диск, а потом скопируйте нужный нам PHP-файл с именем
simplepie.inc в папку seophp/include.
4. SimplePie очень дружественен к разработчику. Кроме отличной документации,
с SimplePie поставляется также сценарий, который проверяет, поддерживает ли
ваша инсталляция РНР эту библиотеку. Если вы не уверены, поддерживает ли ваша машина SimplePie, скопируйте в папку seophp файл sp_compatibility_test.php
из загруженного пакета. Затем загрузите этот файл в Web-браузер, и вы получите
полную оценку (см. рис. 7.4).
5. Создайте в папке seophp папку с именем cache. Эта папка будет использована
SimplePie для кэширования своих данных.
6. Создайте в папке seophp новый файл с именем readfeed.php и поместите в
него следующий код:
<?php
// загрузка библиотеки SimplePie
require_once 'include/simplepie.inc';
// создание и настройка объекта SimplePie
$feed = new SimplePie () ;
$feed->feed_url('http://seophp.example.com/feed.php1);
$feed->cache_location('cache');
$feed->init();
$feed->handle_content_type();
?>
<»DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtmlll/DTD/xhtmlll.dtd">

nposepKa чтения KaHana

<?php
if ($feed->data)
{
// вывод названия
echo '' .
'get_feed_link() . '">' .
$feed->get_feed_title() .
'
' .
';
// вывод не более 5 элементов канала
$max = $feed->get_item_quantity(5);
for ($x=0; $x<$max; $x++)
{
$item = $feed->get_item($x) ;
// вывод ссылки и названия канала
echo '' .
'<а href="' . $item->get_permalink() . '">' .
$item->get_title () .
'' .
,';
// вывод описания канала
echo '' . $item->get_description() . '';
>
}
?>

7. Загрузите страницу h t t p : / / s e o p h p . example. com/read_f e e d . p h p — вы должны
получить результаты, показанные на рис. 7.5.
Ну вот — читать данные из внешнего канала с помощью SimplePie оказалось не
просто, а очень просто.
Здесь опять проявились преимущества ООП. Вся библиотека SimplePie основана
на классе с названием SimplePie, и вы должны лишь создать объект этого класса, а затем использовать нужные методы:
<?php
// загрузка библиотеки SimplePie
require_once 'include/simplepie.inc';
// создание и настройка объекта SimplePie
$feed = new SimplePie () ;
$feed->feed_url('http://seophp.example.com/feed.php');
$feed->cache_location('cache');
$feed->init () ;
$feed->handle_content_type();
?>
Чтобы узнать больше о работе с SimplePie, обратитесь к документации, доступной
по адресу http://simplepie.org/docs/installation/getting-started/.