2013-07-10 3 views
1

Я попытался использовать синтаксический анализатор SimplePie в Laravel. Я оттолкнул autoloader.php и библиотеки папку SimplePie в папке Laravel библиотеки, а затем я добавил карту для SimplePie в start.phpИспользование синтаксического анализа SimplePie в Laravel

// дерево папок

  • библиотеки/
    • простой/
      • библиотека/
        • SimplePie/
        • SimplePie.php
      • autoloader.php

// start.php карта

Autoloader::map(array(
'Base_Controller' => path('app').'controllers/base.php', 
'SimplePie'  => path('app').'libraries/simple/autoloader.php', 
)); 

// новый объект SimplePie

$feed = new SimplePie(); 
$feed->set_feed_url($feed_url); 
$feed->enable_cache(false); 
$feed->set_output_encoding('utf-8'); 

Когда я Ĉ reate новый объект из SimplePie я вижу эту ошибку:

Сообщение:

автозагрузчика не зарегистрирована должным образом

Я использовал этот учебник: http://toolspot.org/read-rss-atom-feed.php

ответ

0

Я не знаком с Laravel, но SimplePie инструкции по установке говорят, что вы должны поместить каталоги php и cache в корневой каталог.

"In your root directory, if they don't already exist, create two folders: php and cache." 

Попробуйте положить их туда вместо вложенных, как у вас есть. Сообщение об ошибке означает, что SimplePie не может найти файлы классов, поэтому это проблема с пути. Я бы также просто привязался к директории «php», а не к созданию «простой». Возможно, вы захотите изменить имена каталогов в SimplePie, если вы хотите попробовать их изменить.

3

В моем случае SimplePie буквально «просто сработал».

В моей composer.json, включают в себя

"simplepie/simplepie": "dev-master" 

Затем сделайте "обновить" композитор - это загрузит SimplePie в папку Laravel "поставщика".

Затем в контроллере, сделайте

$feed = new SimplePie(); 

вуаля!

+0

Этот ответ работает на меня. Благодаря! Кроме того, если вы поместите каталог «cache» в общую папку. –

0

С simplepie имеет совместимый с композитором (т. Е. Доступен на упаковке.org), добавьте его в свой проект из командной строки, используя следующее:

composer require simplepie/simplepie 
Смежные вопросы