我正在尝试使用writeHTML脚本(此处为:http://www.fpdf.org/en/script/script41.php)以及教程6中的页眉和页脚(此处为:http://www.fpdf.org/en/tutorial/tuto2.htm)。
我的代码如下所示:
<?php
require_once('WriteHTML.php');
class PDF extends FPDF
{
// Page footer
function Footer()
{
$this->SetY(-30);
$this->SetFont('Arial','I',8);
$this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C');
$html = '<p>some HTML</p>';
$this->WriteHTML($html);
}
// Some more functions... header, PrintChapter etc...
}
$pdf = new PDF();
$pdf->SetTitle($title);
$pdf->AddPage();
$pdf->PrintChapter(1,'A RUNAWAY REEF','test.txt'); // print text file content
$pdf->Output();
?>
我收到以下错误:
Call to undefined method PDF::WriteHTML() in /path/to/test2.php on line 15
我在这里缺少什么?
答案 0 :(得分:2)
您需要扩展PDF_HTML
,而不是FPDF
,因为WriteHTML
是PDF_HTML
的一部分。
如果您希望继承工作,则始终需要扩展要使用的类。假设你想扩展PDF_Index
,你仍然需要继承WriteHTML
。
也许
PDF extends PDF_Index
和
PDF_Index extends PDF_HTML
或者,
PDF_HTML extends PDF_Index
但你需要在链中同时使它发挥作用。
如果您没有将两者放在继承链中,那么您将不会使用您未使用的分支中的可用函数。
---> PDF_HTML
/
FPDF ----> PDF_Index ----> PDF
PDF_HTML中的函数将无法用于PDF