您好我正在尝试将Excel电子表格编写器功能折叠到现有应用程序中。我正在使用带有命名空间的php 5.3,并且很难获得必要的类加载。
我认为问题是文件名是“Writer.php但类方法是”Spreadsheet_Excel_Writer()“。我的自动加载器设置如下:
function __autoload($class) {
$class = str_replace('\\', '/', $class);
$splitArray = explode("_", $class);
$class = $splitArray[(sizeof($splitArray) - 1)]; // piece1
include($class . '.php');
}
加载我的其余类很好,但无法加载电子表格。如果我重命名文件以匹配方法名称,它在尝试加载OLE类时失败。我真的不想去重命名PEAR中的所有类来实现这个功能。
任何人都知道更好的解决方法吗?
谢谢!
答案 0 :(得分:0)
尝试将PEAR
路径添加到include_path
,然后
require_once "Spreadsheet/Excel/Writer.php"
您可能还希望明确要求OLE类。
根据您的操作系统,文件名也可能区分大小写。
答案 1 :(得分:0)
我想出了如何加载类,但是,它会导致进一步的问题。看来PEAR(或者至少是共享主机上的PEAR版本)与php 5.3名称空间不兼容。
因此,当我最终加载该类时,我最终无法加载PEAR。
作为一种解决方法,我最终编写了一个XLS格式的XML文档,并将其保存为.xls文件。它可能不是一个完美的解决方案,但它确实有效。
感谢您输入!