CodeIgniter:4.0.3 FPDF - 找不到错误 Class 'FPDF'

CodeIgniter: 4.0.3 FPDF - error Class 'FPDF' not found

我正在尝试使用 fpdf 库从 CodeIgniter: 4.0.3 生成 PDF 文档。我已经在 app/ThirdParty 文件夹中复制了 fpdf 库。

我像这样在控制器的顶部包含了库引用。

    <?php namespace App\Controllers\Purchase;

     namespace App\ThirdParty\fpdf;

     use CodeIgniter\Controller;

     use FPDF;

我在控制器中创建了一个 class 来扩展 FPDF 以包括像这样的页眉和页脚。

    class PDF extends FPDF
    {

    
       function Header()
       {
       }
    
    }

我这样生成 pdf。

       $pdf = new PDF();
       $pdf->AddPage();

当我 运行 应用程序时,出现此错误。

Error Class 'FPDF' not found 114 class PDF extends FPDF

如何解决这个问题?

您应该检查 fpdf 库中的命名空间。看起来你对它们和 use 这个词

有点困惑

这是一个关于如何加载 app/ThirdParty 文件夹下的库的示例:

您的 FPDF 主 class 名为 FPDF.php :

<?php

// the path you need to follow to access your file
namespace App\ThirdParty;

class FPDF {
    
    public function __construct() {
        // do your things
    }
}

您的控制器名为 Foo.php

<?php

namespace App\Controllers;

// the namespace of the lib file + its class name
use App\ThirdParty\FPDF;

class Foo extends \CodeIgniter\Controller {
    
    public function myPDF() {
        $pdf = new FPDF();
    }
}

首先在 ThirdParty 文件夹中包含 font 文件夹、fpdf.php 文件和 fpdf.css 文件。

打开 fpdf.php 文件并在 <?php

后加入以下两行
namespace App\ThirdParty;

use Exception;

然后将 ThirdParty 文件夹中的 fpdf.php 文件重命名为 FPDF.php

现在您可以使用以下方式导入 fpdf:

use App\ThirdParty\FPDF;