Подключение Zend Gdata к CodeIgniter

8 736 просмотров 1 комментарий 28 сентября 2012

Для работы с YouTube API мне потребовалось использовать Zend_Gdata в CodeIgniter. Скачав его я понял что как обычную библиотеку эту штуку никак не подрубить. Пришлось погуглить хорошенько. Но везде были какие-то не рабочие варианты, и через какое-то время я наконец нашел как подрубить его.

И так, качаем Zend_Gdata. Копируем содержимое папки library в /application/libraries в итоге должно получиться /application/libraries/Zend. Далее в папке libraries нужно создать библиотеку Zend.php следующего содержания.

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

/**
 * Zend Framework Loader
 *
 *
 * Использование:
 *   1) $this->load->library('zend', 'Zend/Package/Name');
 *   или
 *   2) $this->load->library('zend');
 *      затем $this->zend->load('Zend/Package/Name');
 *
 * * второй способ удобен при автозагрузке Zend Framework library
 * * Zend/Package/Name не требует '.php' в конце */
class Zend
{
    /**
     * Constructor
     *
     * @param	string $class class name
     */
    function __construct($class = NULL)
    {
        // include path for Zend Framework
        // alter it accordingly if you have put the 'Zend' folder elsewhere
        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");
        }
    }

    /**
     * Zend Class Loader
     *
     * @param	string $class class name
     */
    function load($class)
    {
        require_once (string) $class . EXT;
        log_message('debug', "Zend Class $class Loaded");
    }
}

?>

Эта библиотека позволяет подгружать классы из Zend Gdata и использовать их далее.

Пример подключения классов

$this->load->library("zend");                                          
$this->zend->load("Zend/Loader");                                      
Zend_Loader::loadClass('Zend_Gdata_YouTube'); // для работы c YouTube  
Zend_Loader::loadClass('Zend_Gdata_ClientLogin'); // для аутентификации

1 комментарий

Спасибо, здорово выручил. Как раз скачал Gdata и понял что просто так не получиться использовать :).

Вы можете оставить комментарий