複数のクラスを呼び出す関数を記述しようとしていますが、それぞれが1つのPDFファイルにウィジェットを追加してそのPDFファイル全体を返します。私はこれを持ってstudentheader
で次に複数のクラスにわたるTCPDFの使用
<?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
に
$pdf
オブジェクトを渡すためにしようとしていますが、私はエラーを取得しています
<?php
class StudentHeader {
protected $pdf;
public function __construct($pdf){
$this->$pdf = $pdf;
}
public function getHeader(){
$this->pdf->AddPage();
}
}
:
を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を構築するより良い方法がありますか?プロパティ名を文字列にする必要があるため、それは文字列に$pdf
を変換することはできませんと言っています
$this->pdf = $pdf;
:
$this->$pdf = $pdf;
それは次のようになります。
yerがあなたのタイプミスを見つけようとしているだけなので、投票を終了してください。 –