【问题标题】:How to load third party class to my cakephp project?如何将第三方类加载到我的 cakephp 项目中?
【发布时间】:2014-03-05 12:23:09
【问题描述】:

我正在尝试将第三方类 (mPDF) 添加到我的项目中。我做错了什么?我把所有的文件都放到app/Vendor/mPDF 目录下并制作了

        App::import('Vendor', 'mPDF', array('file' => 'mPDF'.DS.'mpdf.php'));

        $this->mpdf = new $this->mPDF1();
        $html = '<font> TEST</font>';

        $this->mpdf->WriteHTML($html);
        $this->mpdf->Output();

编辑: 现在代码看起来像这样:

public function grafikRehabilitant(){
    $this->autoRender=false;
    $this->layout='pusty';
    App::import('Vendor', 'mPDF', array('file' => 'mPDF'.DS.'mpdf.php'));

    $mpdf = new mPDF();
    $html = '<font> TEST</font>';

    $mpdf->WriteHTML($html);
    $mpdf->Output();

}

这是错误:

注意(8):未定义索引:BODY [APP\Vendor\mPDF\classes\cssmgr.php, 第966行]

注意(8):未定义索引:BODY>>ID>> [APP\Vendor\mPDF\classes\cssmgr.php,第 1011 行]

注意(8):未定义偏移量:-1 [APP\Vendor\mPDF\classes\cssmgr.php, 第1150行]

注意(8):未定义索引:outline-s [APP\Vendor\mPDF\mpdf.php, line 第3892章

注意(8):未定义的属性:mPDF::$hasOC [APP\供应商\mPDF\mpdf.php,第27505行]

注意(8):未定义的属性:mPDF::$hasOC [APP\供应商\mPDF\mpdf.php,第27608行]

注意(8):未定义的属性:mPDF::$hasOC [APP\供应商\mPDF\mpdf.php,第9158行]

警告(2):无法修改标头信息 - 标头已发送 由(输出开始于 C:\xampp\htdocs\lib\Cake\Utility\Debugger.php:801) [APP\供应商\mPDF\mpdf.php,第7447行]

警告(2):无法修改标头信息 - 标头已发送 由(输出开始于 C:\xampp\htdocs\lib\Cake\Utility\Debugger.php:801) [APP\供应商\mPDF\mpdf.php,第1736行]

mPDF 错误:一些数据已经输出到浏览器,无法发送 PDF文件

完整的工作代码

            $this->autoRender=false;
            $this->layout='pusty';
            error_reporting(0);
            App::import('Vendor', 'mPDF', array('file' => 'mPDF'.DS.'mpdf.php'));

            $mpdf = new mPDF();
            $html = '<font> TEST</font>';

            $mpdf->WriteHTML($html);
            $mpdf->Output();

【问题讨论】:

  • 你得到什么错误?
  • 请看一下这个链接...bakery.cakephp.org/articles/segy/2012/01/19/…...那里还提供了一个演示代码链接..
  • 仔细检查您的目录。有vendorsapp/Vendor。您在答案中提到的路径与这些都不匹配。还是只是一个错字?
  • @lethal-guitar - 我把这个文件放到 app/Vendor

标签: php cakephp mpdf


【解决方案1】:

您得到的最后两个错误是由以前的通知引起的。通过查看 Nishant Solanki 链接的代码,我发现他们在导入之前抑制了通知,如下所示:

// mPDF class has many notices - suppress them
error_reporting(0);

// mPDF import follows

没有通知,headers already sent 不会发生。

【讨论】:

  • 这个数字 1 现在不存在。我只是更改类名来查看其他错误。
  • 你太棒了!
  • @przeqpiciel 谢谢 :D 前段时间在 CakePHP 应用程序中实现 PowerPoint 导出时遇到了类似的问题
猜你喜欢
  • 2018-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-07
  • 1970-01-01
  • 1970-01-01
  • 2021-10-29
相关资源
最近更新 更多