2

因此,我主要尝试安装一些 Zend Framework 组件,以便可以使用 google API picasa 库。

我尝试将 Zend 库添加到我的

codeigniter-> 应用程序-> 库

然后运行$this->load->library('Zend');,但我收到

无法加载请求的类:zend

然后我试着做

$clientLibraryPath = '/usr/local/lib/php/Zend/Gdata';
$oldPath = set_include_path(get_include_path() . PATH_SEPARATOR . $clientLibraryPath);

错误

> Exception thrown trying to access Zend/Loader.php  using
> 'use_include_path' = true. Make sure you  include Zend Framework in
> your include_path  which currently  contains:
> .:/usr/share/php:/usr/share/pear:/usr/local/lib/php/Zend/Gdata

我不确定实际路径应该是什么我还将 Zend 库上传到 users/local/lib/php中。我究竟做错了什么?

4

1 回答 1

6

看到这个:你需要在库中创建文件Zend.php , 如下图所示: 在此处输入图像描述

并将这段代码过去:

if (!defined('BASEPATH')) {
    exit('No direct script access allowed');
}

class Zend
{

    public function __construct($class = NULL)
    {

        ini_set('include_path', ini_get('include_path') . PATH_SEPARATOR . APPPATH . 'libraries');

        if ($class) {

            require_once (string) $class . EXT;

            log_message('debug', "Zend Class $class Loaded");
        } else {

            log_message('debug', "Zend Class Initialized");
        }
    }

    public function load($sClassName)
    {

        require_once (string) $sClassName . EXT;

        log_message('debug', "-> Zend Class $sClassName Loaded from the library");
    }

}

而已。现在从Controller中的方法调用 library 你需要的东西。这里我展示了一个加载Picasa 网络相册的示例。

    $this->load->library('zend');
    $this->zend->load('Zend/Loader');
    Zend_Loader::loadClass('Zend_Gdata');
    Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
    Zend_Loader::loadClass('Zend_Gdata_Photos');
    Zend_Loader::loadClass('Zend_Http_Client');

用另一个例子来加载 Google Spreedsheet。

$this->load->library('zend');
$this->zend->load('Zend/Gdata/Spreadsheets');
$oSpreadSheet = new Zend_Gdata_Spreadsheets();
$entry = $oSpreadSheet->newCellEntry();
$cell = $oSpreadSheet->newCell();
$cell->setText('My cell value');
$cell->setRow('1');
$cell->setColumn('3');
$entry->cell = $cell;
var_dump(  $entry );

有关更多信息,请参阅此

于 2013-12-21T21:15:13.823 回答