【发布时间】:2012-02-07 15:23:00
【问题描述】:
我在 Zend 框架中的命名空间上苦苦挣扎(至少我认为这是一个命名空间问题)。
我想将 PHPExcel 集成到我的 Zend 项目中。相关文件结构如下:
/
-library
-ABCD
-PHPExcel
-Zend
-ZendX
-PHPExcel.php
自定义类工作正常,之后
Zend_Loader_Autoloader::getInstance()->registerNamespace('ABCD_');
在引导程序中。此外,这些类都被命名为 ABCD_blahdeblah。
但是,执行 registerNamespace('PHPExcel_') 并不能帮助 Zend 找到合适的类。当我尝试
$sheet = new PHPExcel;
在控制器中,我收到“找不到类”错误。我猜这是因为 PHPExcel 中的类没有以命名空间前缀命名,或者因为主 PHPExcel.php 文件位于我刚刚声明的命名空间之外。但是 PHPExcel 结构要求它位于其余的 class/font/etc 文件的父目录中。
任何指针将不胜感激。
提前致谢。
【问题讨论】:
-
PHPExcel 是否使用其他类?是不是不能把类重命名为
My_PHPExcel或App_PHPExcel,把所有的东西都放在各自的目录下? -
它确实使用了其他类,由船夫。这将是一项相当大的重构工作。目前,我只是在控制器中使用“include_once”;这并不理想,但可以工作。
标签: zend-framework namespaces phpexcel