在 mPdf 中找不到 LoggerAwareInterface

LoggerAwareInterface Not Found in mPdf

我正在使用核心 PHP,我的要求是使用简单的 PHP 从数据库数据创建 PDF。我对 composer 和 packegist 以及所有知识都不太了解。我只想将 HTML table 转换为 PDF。为此,我正在使用 php mPDF 库。

我指的是this tutorial.

它说:

// include the library class mPDF at the end of the index.php file.
include('src/Mpdf.php');
$mpdf = new mPDF();
$mpdf->WriteHTML($html);

// call watermark content aand image
$mpdf->SetWatermarkText('phpflow.COM');
$mpdf->showWatermarkText = true;
$mpdf->watermarkTextAlpha = 0.1;

// save the file put which location you need folder/filname
$mpdf->Output("phpflow.pdf", 'F');

//out put in browser below output function
$mpdf->Output();

但是包含之后会报错

Interface 'Psr\Log\LoggerAwareInterface' not found on line 56

那么我该如何解决这个问题。在 GitHub 文档中建议添加

require_once __DIR__ . '/vendor/autoload.php';

$mpdf = new \Mpdf\Mpdf();
$mpdf->WriteHTML('<h1>Hello world!</h1>');
$mpdf->Output();

但是当我下载插件时,它没有任何名为 vendor 的文件夹。

Use composer 正如教程建议的那样,将 mpdf 作为依赖项获取并构建自动加载:

composer require mpdf/mpdf

或使用不需要这些依赖项的 mPDF 6.x 版本。

注意

$mpdf = new \Mpdf\Mpdf();

是7.x版本的构造函数,使用

$mpdf = new mPDF();

仅限 6.x。