Использование SimplePie с Yii

Я хочу иметь возможность использовать SimplePie на Yii.

Я использую версию simplepie 1.3-dev. Я создал папку «vendors», поместил все, что у меня было, в .tar.gz в подпапку simplepie. Затем я добавляю эти строки в начало моего контроллера

Yii::import('application.vendors.SimplePie.*');
require_once 'SimplePieAutoloader.php';
spl_autoload_unregister(array('YiiBase','autoload'));
spl_autoload_register(array('SimplePie_Autoloader','autoload'));
spl_autoload_register(array('YiiBase','autoload'));

Но когда я пытаюсь использовать его, я получаю эту ошибку:

include(SimplePie_Core.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory

C:\wamp\www\yii\fr\framework\YiiBase.php(418)

Любые идеи, почему я получаю эту ошибку?

редактировать: я взял скомпилированную версию simplepie, и все работает как шарм


person Polux    schedule 19.03.2012    source источник
comment
вы можете опубликовать свой ответ и принять его самостоятельно   -  person llamerr    schedule 07.05.2012
comment
Интересно, как он решил эту... TSK!   -  person PinoyStackOverflower    schedule 17.05.2013
comment
Папка поставщиков Yii называется поставщиком, а не поставщиками. Однажды я сам наткнулся на эту опечатку.   -  person Dzhuneyt    schedule 15.06.2014


Ответы (2)


Я думаю (не изучал его полностью), что библиотека Simple Pie следует PSR-0 для имен классов и файлов. В этом случае вы должны иметь возможность зарегистрировать его путь, и автозагрузчик Yii будет знать, как его автоматически загрузить. Попробуйте добавить следующее в config.php;

Yii::setPathOfAlias('SimplePie', '/path/to/vendor/');

Второй аргумент должен указывать на корневую папку библиотеки, например. если ваш путь такой /var/lib/yiiproject/vendor/simplepie/lib/SimplePie то зарегистрируйте путь /var/lib/yiiproject/vendor/simplepie/lib

person Kevin    schedule 25.07.2012

Этот виджет yii использует SimplePie http://www.yiiframework.com/extension/yii-feed-widget/

person Janka    schedule 30.04.2014