如何在代码点火器中使用 fpdf 标签脚本时修复'Missing argument 1 for Pdf_label::__construct()'



我收到错误:

消息:缺少 Pdf_label::__construct(( 的参数 1,在 C:\xampp\htdocs\project1b\system\core\Loader.php 在第 1285 行和 定义

文件名: 库/PDF_Label.php

我想做的是,我尝试在代码点火器中使用 fpdf 标签脚本(文档在这里(,我已经尝试了使用以下代码在代码点火器中生成一个简单的 pdf :

public function cetakLabelfpdf()
{
$this->load->library('fpdf');
$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial', 'B', 16);
$pdf->Cell(40, 10, 'Hello World!');
$pdf->Output();
}

它起作用了,但是当我尝试添加脚本(在本例中为标签脚本(时,我将标签脚本放在与 fpdf 文件相同的目录中(应用程序/库(,并使用此示例代码生成 pdf

public function cetakLabelfpdf()
{
$this->load->library('PDF_Label');
// Standard format
$pdf = new PDF_Label('L7163');
$pdf->AddPage();
// Print labels
for ($i = 1; $i <= 20; $i++) {
$text = sprintf("%sn%sn%sn%s %s, %s", "Laurent $i", 'Immeuble Toto', 'av. Fragonard', '06000', 'NICE', 'FRANCE');
$pdf->Add_Label($text);
}
$pdf->Output();
}

我就像第一条消息一样,如果有人能证明我在这个案子上做错了什么,我真的很感激。

补充一下我的评论,本质上$this->load旨在与 CodeIgniter 兼容的库/模型/助手等一起使用。当你有与CodeIgniter完全无关的东西(不是围绕它的生态系统构建的(时,你可以创建一个库来"调整"类以与CodeIgniter兼容,或者你可以像普通类一样使用它,要么作曲家自动加载,要么需要在需要它的控制器/模型类的顶部提供必要的文件(不适用于命名空间类 - 然后你需要作曲家或可以自动加载的东西(。

在您的特定情况下,当您在标签分类上调用$this->load->library()时,CI 创建了一个new标注分类(在后台(,并且不会将任何内容传递给存在所需参数的__construct。因此错误。您可以通过$this->load->library('some_lib', ['arg1'=>'foo', 'arg2'=>'bar']将变量传递给库构造函数,但这仅在库是为 CI 构建的(接收数组中的所有构造函数参数而不是逗号分隔的参数列表(时才这样做。

在此处查看更多信息: https://www.codeigniter.com/user_guide/general/creating_libraries.html#passing-parameters-when-initializing-your-class

相关内容

最新更新