Zend Framework与Kohana PHP 3

5

我已将Zend库文件夹放入应用程序的classes文件夹中,并将所有文件和文件夹重命名为小写字母(使用Ant Renamer)。

当我调用Zend_Feed时,Kohana会从我的服务器share\ZendFramework\library\Zend\(Zend Server)加载Zend,因此我会收到一个Cannot redeclare class Zend_Uri_Http错误。

ZF版本:1.10 Kohana版本:通过GitHub获取的最新文件

编辑: https://github.com/kolanos/kohana-zend

3个回答

5

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/


我应该在哪里注册呢?我是 Kohana 的新手,不太清楚应该在哪里以及如何定义自动加载,比如每个类名都带有 Zend_ 前缀。Bootstrap?怎么做? - Kemo

0

在 ko3 中,你的类名必须与文件路径匹配非常重要。例如,你的 feed 类位于 /classes/zend/feed.php 中,因此它的名称必须为 class Zend_Feed {。如果你不喜欢这个,你可以创建这个文件 /classes/feed.php 并做如下操作:class Feed extends Zend_Feed { }


它已经是这样了,Zend拥有与Kohana非常相似的自动加载。 - Kemo

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接