Zend Framework с Kohana PHP 3 - PullRequest
       17

Zend Framework с Kohana PHP 3

5 голосов
/ 23 января 2010

Я поместил папку библиотеки Zend в папку классов моего приложения и переименовал все файлы и папки в нижний регистр (используя Ant Renamer).

Когда я вызываю Zend_Feed, вместо загрузки /classes/zend/feed.php kohana загружает Zend с моих серверов share\ZendFramework\library\Zend\ (Zend Server), поэтому я получаю ошибку Cannot redeclare class Zend_Uri_Http.

ZF версия; 1,10 Версия Kohana: самые последние файлы, доступные через GitHub

Edit: https://github.com/kolanos/kohana-zend

Ответы [ 3 ]

5 голосов
/ 23 января 2010

Автозагрузчик Kohana ожидает имена файлов в нижнем регистре. Вы можете зарегистрировать автозагрузчики Zend и Kohana, и они должны нормально работать.

В начальной загрузке у вас есть:

/**
 * Enable the Kohana auto-loader.
 *
 * @see  http://docs.kohanaphp.com/features/autoloading
 * @see  http://php.net/spl_autoload_register
 */
spl_autoload_register(array('Kohana', 'auto_load'));

Zend автозагрузчик должен идти до или после этого (я не знаю, имеет ли это значение) Нашел пост, как это сделать: http://www.beyondcoding.com/2009/10/29/using-zend-framework-1-8-with-kohana/

0 голосов
/ 23 января 2010

Как говорит Помык, попробуйте использовать оба автозагрузчика: http://www.php.net/manual/en/function.spl-autoload-register.php

Повторное использование классов - плохая практика, потому что очень трудно обновить и поддержка в будущем

0 голосов
/ 23 января 2010

очень важно, чтобы имя вашего класса совпадало с путем к файлу в ko3. например ваш класс фида находится внутри /classes/zend/feed.php, поэтому он должен иметь имя class Zend_Feed {, если вам это не нравится, вы можете создать этот файл /classes/feed.php и сделать это class Feed extends Zend_Feed { }

...