Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Yii框架中使用Zend-Gdata_Yii_Gdata - Fatal编程技术网

在Yii框架中使用Zend-Gdata

在Yii框架中使用Zend-Gdata,yii,gdata,Yii,Gdata,我正试着从皮卡萨那里拿些Zend Gdata的照片。这是我的代码: public function getAlbumFeed($albumName){ require_once('Zend/Loader.php'); spl_autoload_unregister(array('YiiBase','autoload')); spl_autoload_register(array('Zend_Loader_Autoloader','autoload')); spl_

我正试着从皮卡萨那里拿些Zend Gdata的照片。这是我的代码:

public function getAlbumFeed($albumName){
    require_once('Zend/Loader.php');
    spl_autoload_unregister(array('YiiBase','autoload'));
    spl_autoload_register(array('Zend_Loader_Autoloader','autoload'));
    spl_autoload_register(array('YiiBase','autoload'));
    Zend_Loader::loadClass('Zend_Gdata');
    Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
    Zend_Loader::loadClass('Zend_Gdata_Photos');
    Zend_Loader::loadClass('Zend_Http_Client');

    $svc=Zend_Gdata_Photos::AUTH_SERVICE_NAME;
    $client=Zend_Gdata_ClientLogin::getHttpClient($this->email, $this->password, $svc);
    $gphoto=new Zend_Gdata_Photos($client);

    $query=$gphoto->newAlbumQuery();
    $query->setUser('default');
    $query->setAlbumName($albumName);

    try{
        $feed=$gphoto->getAlbumFeed($query);
    }
    catch(Zend_Gdata_App_Exception $e){
        throw new HttpException("Your photos can't find", 404);
    }
    return $feed;
}
但当我运行此脚本时,我的网站会抛出一个错误:

Fatal error: Class 'CExceptionEvent' not found in D:\xampp\htdocs\yii\framework\base\CApplication.php on line 703

你能帮我解决这个问题吗?非常感谢。

问题的原因是您正在抛出一个异常(可能是
HttpException
在代码末尾附近),Yii希望构造一个
ceExceptionEvent
实例,以便它能够引发事件

但是,Yii的类autoloader已从自动加载堆栈中删除,因此PHP无法找到该类

尝试注释删除和添加Yii的autoloader的代码,看看它是否有区别:

// spl_autoload_unregister(array('YiiBase','autoload'));
spl_autoload_register(array('Zend_Loader_Autoloader','autoload'));
// spl_autoload_register(array('YiiBase','autoload'));
您还可以打电话检查spl_自动加载堆栈的具体情况——可能是有什么东西损坏了它:

print_r(spl_autoload_functions());
die;  // see what the line above prints

$svc=Zend_Gdata_Photos::AUTH_SERVICE_NAME;