public static function main() { $reporter = new Reporter(); $data = "Crystal Report Data"; $crystalReportMaker = new CrystalReportMaker($data); $reporter->setReportMaker($crystalReportMaker); $reporter->constructReport(); $report = $reporter->getReport(); $report->printReport(); echo "<br/>"; $data = "Html Data"; $htmlReportMaker = new HtmlReportMaker($data); $reporter->setReportMaker($htmlReportMaker); $reporter->constructReport(); $report = $reporter->getReport(); $report->printReport(); echo "<br/>"; $data = "PDF Data"; $pdfReportMaker = new PdfReportMaker($data); $reporter->setReportMaker($pdfReportMaker); $reporter->constructReport(); $report = $reporter->getReport(); $report->printReport(); }