首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Zend framework 2: class_exists('mPDF')返回true,但新的mPDF()失败

Zend framework 2: class_exists('mPDF')返回true,但新的mPDF()失败
EN

Stack Overflow用户
提问于 2014-11-17 23:30:08
回答 1查看 351关注 0票数 0

我想在控制器中使用mPDF,如下所示(测试场景):

代码语言:javascript
运行
复制
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文件中声明的,我已经检查了该文件是否加载了,并且确实加载了。

EN

回答 1

Stack Overflow用户

发布于 2014-11-18 21:17:43

要解决此问题,您必须在类名前面添加\以重置命名空间

代码语言:javascript
运行
复制
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文件类中

代码语言:javascript
运行
复制
<?php
// Generated by ZF2's ./bin/classmap_generator.php
return array(
    'mPDF'                          => __DIR__ . 'path/to/file/mpdf.php',
);

我用PHPMailer做这件事

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26976078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档