У меня много кода для создания pdf (TCPDF) отдельно по заголовку, телу, нижнему колонтитулу ... и мне нужно вызывать код по мере необходимости с переменными координатами.Потому что мне нужно использовать if else
вызовы (конечно) многократные и без необходимости я переписываю тот же код.
Например, я пытаюсь это (подзаголовок):
class invoice {
function getSubheader($disY){
$subheader = array(
$pdf->SetLineWidth(.2),
$pdf->MultiCell(190,9,'',1,'L',false,0,10,$disY,true),
$pdf->SetFont('freesans','',7),
$pdf->MultiCell(50,"",$getDesc['blabla1'],0,'L',false,0,12,$disY+2,true),
$pdf->MultiCell(15,"",$getDesc['blabla2'],0,'R',false,0,62,$disY+2,true),
$pdf->MultiCell(20,"",$getDesc['blabla3'],0,'R',false,0,77,$disY+2,true),
$pdf->MultiCell(15,"",$getDesc['blabla4'],0,'R',false,0,97,$disY+2,true),
$pdf->MultiCell(25,"",$getDesc['blabla5'],0,'R',false,0,112,$disY+2,true),
$pdf->MultiCell(15,"",$getDesc['blabla6'],0,'R',false,0,137,$disY+2,true),
$pdf->MultiCell(20,"",$getDesc['blabla7'],0,'R',false,0,152,$disY+2,true),
$pdf->MultiCell(25,"",$getDesc['blabla8'],0,'R',false,0,172,$disY+2,true),
$pdf->SetFont('freesans','B',8),
$pdf->MultiCell(180,"",$getDesc['blabla9'],0,'L',false,0,12,$disY+11,true)
);
return $subheader;
}
others functions...
}
В другом class
вызовите только function
$pdf = new TCPDF (PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
$pdf->AddPage();
lot of code $pdf->...
$invoice = new invoice();
if(cond == 1){
$disY = 100;
$invoice->getSubheader($disY);
} else {
$disY = 200;
$invoice->getSubheader($disY);
}
lot of code $pdf->...
Этот function
должен возвращать переменные $ pdf-> SetLineWidt ... и т. д. Но если я использую это решение - ошибка
Call to a member function SetLineWidth() on null
Есть совет для новичка?