【问题标题】:Using Zend Gdata in Yii framework在 Yii 框架中使用 Zend Gdata
【发布时间】:2011-09-21 21:25:24
【问题描述】:

我正在尝试从 Zend Gdata 的 Picasa 中获取一些照片。这是我的代码:

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

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

【问题讨论】:

    标签: yii gdata


    【解决方案1】:

    问题的原因是你抛出了一个异常(可能是代码末尾附近的HttpException),并且Yii想要构造一个CExceptionEvent实例以便它可以引发CApplication::onException事件.

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

    尝试注释掉删除和添加 Yii 的自动加载器的代码,看看是否有所不同:

    // spl_autoload_unregister(array('YiiBase','autoload'));
    spl_autoload_register(array('Zend_Loader_Autoloader','autoload'));
    // spl_autoload_register(array('YiiBase','autoload'));
    

    您也可以调用spl_autoload_functions 来检查您的 spl_autoload 堆栈到底发生了什么——也许有什么东西损坏了它:

    print_r(spl_autoload_functions());
    die;  // see what the line above prints
    
    $svc=Zend_Gdata_Photos::AUTH_SERVICE_NAME;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-29
      相关资源
      最近更新 更多