Ho bisogno di testare l'output del mio codice prima di inviare l'output per il rendering PDF.
Al momento ho deciso una dichiarazione switch che fa due cose diverse a seconda che sia in produzione o in modalità test.
- Renderizza PDF con dati che vanno su PDF in un browser web. Nulla viene restituito al chiamante
- Non eseguire il rendering del PDF ma semplicemente restituire i dati per test / altri scopi
Solo per mostrare un codice per chiarire ... Ecco cosa ho ora:
$output = $this->prepOutputData();
switch ($this->strategy)
{
//outputs binary PDF, no return statement
case OutlineStrategy::PDF_STRATEGY:
$pdfEngine = new PdfEngine();
$em = DoctrineConnector::getEntityManager();
$metaData = $em->getRepository(PdfMetadata::class)->findAll();
$pdfEngine->arrangeDataOnPdf($metaData, $output);
$pdfEngine->printPdfToBrowser();
break;
//returns data that goes onto PDF
//for testing or for consumption by non-PDF entity
case OutlineStrategy::TEST_STRATEGY:
return $output;
break;
}
Obiettivo
Il mio obiettivo è essere in grado di mostrare PDF in produzione ma NON mostrare PDF per il test e ancora poter eseguire verifiche di verifica sui dati $output
. Come posso farlo?