PHP - множественные функции возвращают переменные TCPDF - PullRequest
0 голосов
/ 26 октября 2018

У меня много кода для создания 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

Есть совет для новичка?

...