我在我的项目中使用来自here的Zend Loader,我无法为DOMPDF配置Zend自动加载器,与dompdf自动加载器并行工作。有没有办法设置zend自动加载配置,以便它回退到dompdf auotloader。
我看到一些例子,例如使用pushAutoLoader,但这似乎是使用Zend旧版本(v< 2可能)
require_once('dompdf/dompdf_config.inc.php' );
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->pushAutoloader('DOMPDF_autoload', '');
ZF2 Loader中pushAutoloader()的替代方法是什么?我现在没有看到任何这样的方法。
我还不能使用'fallback_autoloader' => true,
选项,因为我使用的是php 5.3.1,它给了我错误:
`Call to undefined function Zend\Loader\stream_resolve_include_path()`
看起来{5.3}中添加了stream_resolve_include_path()
答案 0 :(得分:0)
这似乎是一个小故障,只是发现DOMPDF配置文件使用过时的方式来注册其自动加载器,例如
if ( !function_exists("__autoload") ) {
/**
* Default __autoload() function
*
* @param string $class
*/
function __autoload($class) {
DOMPDF_autoload($class);
}
}
并且修复只是使用spl_autoload_register
bcz php spl_autoload_register vs __autoload?并将上面的代码替换为一行,只需对自动加载功能进行少量更新
function DOMPDF_autoload($class) {
//don't check for namespaced files/classes
if(strpos($class, "\\") > 0) return;
if($class=='UFPDF') return ;
$filename = mb_strtolower($class) . ".cls.php";
require(DOMPDF_INC_DIR . "/$filename");
}
spl_autoload_register('DOMPDF_autoload');
欢呼:)