在多个 类 中使用 TCPDF
Using TCPDF across multiple classes
我正在尝试编写一个调用多个 类 的函数,每个函数都会将一个小部件添加到单个 PDF 文件,然后 return 整个 PDF 文件。
构造函数代码如下:
<?php
class PdfConstructor {
protected $logger; // I'm sure there's another way to use the logger located in the public dependencies without having to initalise it here
public function __construct($logger){
$this->logger = $logger;
}
public function studentPdf(){
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// ---------------------------------------------------------
require 'pdfwidgets/studentheader.php'; // TODO: Need to load this via autoloader
$headerController = new StudentHeader($pdf);
$headerInfo = $hederController->getHeader();
// ---------------------------------------------------------
//Close and output PDF document
$pdf->Output('C:\xampp7\htdocs\edquire-api\logs\test.pdf', 'F');
}
}
然后在 studentheader
我有这个:
<?php
class StudentHeader {
protected $pdf;
public function __construct($pdf){
$this->$pdf = $pdf;
}
public function getHeader(){
$this->pdf->AddPage();
}
}
我正在尝试将 $pdf
对象传递给 studentheader
,但出现错误:
Catchable fatal error: Object of class TCPDF could not be converted to string in C:\xampp7\htdocs\edquire-api\classes\pdfwidgets\studentheader.php on line 8
为什么要尝试将其转换为字符串,是否有更好的方法来实现使用小部件构建该 pdf?
这是第 8 行:
$this->$pdf = $pdf;
应该是:
$this->pdf = $pdf;
它说它不能将 $pdf
转换为字符串,因为 属性 名称需要是一个字符串。您在那里将其用作 属性 名称。
对此的脚注:如果您不 "get" 错误消息,Google 它始终是一个很好的策略。我用谷歌搜索 "Catchable fatal error: Object of class TCPDF could not be converted to string",最上面的结果都指向正确的方向。
我正在尝试编写一个调用多个 类 的函数,每个函数都会将一个小部件添加到单个 PDF 文件,然后 return 整个 PDF 文件。
构造函数代码如下:
<?php
class PdfConstructor {
protected $logger; // I'm sure there's another way to use the logger located in the public dependencies without having to initalise it here
public function __construct($logger){
$this->logger = $logger;
}
public function studentPdf(){
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// ---------------------------------------------------------
require 'pdfwidgets/studentheader.php'; // TODO: Need to load this via autoloader
$headerController = new StudentHeader($pdf);
$headerInfo = $hederController->getHeader();
// ---------------------------------------------------------
//Close and output PDF document
$pdf->Output('C:\xampp7\htdocs\edquire-api\logs\test.pdf', 'F');
}
}
然后在 studentheader
我有这个:
<?php
class StudentHeader {
protected $pdf;
public function __construct($pdf){
$this->$pdf = $pdf;
}
public function getHeader(){
$this->pdf->AddPage();
}
}
我正在尝试将 $pdf
对象传递给 studentheader
,但出现错误:
Catchable fatal error: Object of class TCPDF could not be converted to string in C:\xampp7\htdocs\edquire-api\classes\pdfwidgets\studentheader.php on line 8
为什么要尝试将其转换为字符串,是否有更好的方法来实现使用小部件构建该 pdf?
这是第 8 行:
$this->$pdf = $pdf;
应该是:
$this->pdf = $pdf;
它说它不能将 $pdf
转换为字符串,因为 属性 名称需要是一个字符串。您在那里将其用作 属性 名称。
对此的脚注:如果您不 "get" 错误消息,Google 它始终是一个很好的策略。我用谷歌搜索 "Catchable fatal error: Object of class TCPDF could not be converted to string",最上面的结果都指向正确的方向。