在Codeigniter中包含Zend Library

时间:2013-07-24 23:40:05

标签: php codeigniter zend-framework

所以我正在尝试安装一些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 libary上传到users / local / lib / php 。我做错了什么?

1 个答案:

答案 0 :(得分:6)

看到这个: 您需要在中创建文件 Zend.php 如下图所示: enter image description here

并将此代码放入其中:

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");
    }

}

就是这样。现在从控制器中的方法中调用库所需的内容。 这里我展示一个示例来加载 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 );

了解更多信息see this