PEAR Spreadsheet Excel Writer Autoload

时间:2011-02-02 19:44:02

标签: php excel pear spreadsheet autoload

您好我正在尝试将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中的所有类来实现这个功能。

任何人都知道更好的解决方法吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

尝试将PEAR路径添加到include_path,然后

require_once "Spreadsheet/Excel/Writer.php"

您可能还希望明确要求OLE类。

根据您的操作系统,文件名也可能区分大小写。

答案 1 :(得分:0)

我想出了如何加载类,但是,它会导致进一步的问题。看来PEAR(或者至少是共享主机上的PEAR版本)与php 5.3名称空间不兼容。

因此,当我最终加载该类时,我最终无法加载PEAR。

作为一种解决方法,我最终编写了一个XLS格式的XML文档,并将其保存为.xls文件。它可能不是一个完美的解决方案,但它确实有效。

感谢您输入!