0

我正在尝试安装 Zend PDF,以便在我客户的共享主机帐户(媒体殿堂)上填写可编辑的 PDF。我现在启用了它,在 phpinfo http://i.imgur.com/lDiLk.png中确认,但在那之后,我找不到我需要开始的东西。如果我尝试加载 Zend_Pdf 类,我会收到“致命错误:未找到 Class 'Zend_Loader'”消息。

4

2 回答 2

1

这些是非常不同的。Zend Guard Loader 用于运行由 Zend Guard 编码的 PHP 脚本。Zend Loader组件用于简化开发等。例如,这...

$pdf = new Zend_Pdf(); // what's Zend_Pdf, people?

... 语句对 PHP 来说毫无意义,除非它知道什么是Zend_Pdf类。值得庆幸的是,在 PHP 中有一种自动导入这些文件的特殊机制——自动加载。下面是使用 Zend_Loader 的方法:

set_include_path(
    implode(PATH_SEPARATOR, array(
        get_include_path(),
        PATH_TO_ZF_LIBRARY
    )));

require_once 'Zend/Loader/Autoloader.php';
$autoloader = Zend_Loader_Autoloader::getInstance();
...
$pdf = new Zend_Pdf(); // no error, as correct file should be imported automatically

实际上,如果只有一个文件会使用 Zend 组件,则不需要使用自动加载机制。一个简单的require_once(没有双关语)就足够了:

require_once 'Zend\Pdf.php';
...
$pdf = new Zend_Pdf(); // oh, now I know all about Zend_Pdf!
于 2012-10-16T15:50:59.020 回答
1

Zend Guard Loader 和 Zend Loader 不是一回事。Zend Guard 是另一个 Zend 产品,与 Zend Framework 无关。Zend Loader 是 Zend Framework 中类加载器的名称。

确保您的应用程序中有 Zend Framework 的副本,并且您已设置包含路径以指向该位置。

于 2012-10-16T15:52:05.797 回答