我想在控制器中使用mPDF,如下所示(测试场景):
function indexAction() {
    require_once('libraries/mpdf/mpdf.php');
    var_dump(class_exists('mPDF')); //prints true
    $mpdf = new mPDF(); //fails with 'class not found in Application/Controller (current namespace)
}类mPDF是在mpdf.php文件中声明的,我已经检查了该文件是否加载了,并且确实加载了。
发布于 2014-11-18 21:17:43
要解决此问题,您必须在类名前面添加\以重置命名空间
function indexAction() {
    require_once('libraries/mpdf/mpdf.php');
    var_dump(class_exists('mPDF')); //prints true
    $mpdf = new \mPDF(); //fails with 'class not found in Application/Controller (current namespace)
}error message是这方面的线索
//失败,并显示“在应用程序/控制器(当前命名空间)中找不到类”
然而,我不知道为什么class_exist返回true。当我在autoload_classmap.php中上课时,它不会这样做,但是当我使用require_once时,我得到了同样的问题。
此外,如果您不想在函数中require_once该php文件,可以将其添加到模块根目录下的mapp文件类中
<?php
// Generated by ZF2's ./bin/classmap_generator.php
return array(
    'mPDF'                          => __DIR__ . 'path/to/file/mpdf.php',
);我用PHPMailer做这件事
https://stackoverflow.com/questions/26976078
复制相似问题