Не е тайна че обичам Kohana, не просто обичам а я обожавам, но пък Zend Framework никак не е за подценяване, има много готови библиотеки една от които е разработената с Google - Google Gdata, която дава възможност за достъп до API то на Youtube, Google Calendar, Google Docs, Picasa .... и още много други... И какво правим когато искаме да използваме тези класове за проект който се пише с Kohana framework ?
Ето какво
1. Сваляме gdata библиотеката, разархивираме я в system/vendors/Zend/
2. Отиваме в application/libraries/
3. Създаваме файл Zend.php
4. Добавяме следното съдържание в създадения по рано файл
<?php
class Zend {
/**
* Returns a singleton instance of URI.
*
* @return object
*/
public static function instance($class = NULL) {
static $instance;
// Create the singleton
if ($instance == NULL) {
// Initialize the URI instance
$instance = new Zend($class);
} else {
$instance->load($class);
}
return $instance;
}
/**
* 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.'vendors');
if ($class) {
require_once (string) $class.EXT;
//Log::add('debug', "Zend Class $class Loaded");
} else {
//Log::add('debug', "Zend Class Initialized");
}
}
/**
* Zend Class Loader
*
* @param string $class class name
*/
function load($class) {
require_once (string) $class.EXT;
//Log::add('debug', "Zend Class $class Loaded");
}
}
5. Запазваме
И това е ! Начина на използване е следният
public function youtube() {
Zend::instance('Zend/Gdata/ClientLogin');
Zend::instance('Zend/Gdata/YouTube');
.... вашият код .....
}
ПС: това е за Kohana 2.x версията. За 3.x все още не ми се е налагало но предполагам метода е същият.