/** * Generated an associate array * * @param $filename * @param ExporterInterface $exporter */ public function getScheduleReport($filename, ExporterInterface $exporter) { // Log to console Console::log("Starting report generation..."); $meetings = []; // Build up array foreach ($this->monthContainer as $month) { /** * @var Month $month */ $meetings[] = ['Month' => $month->getDate()->format('m/Y'), 'Mid Month Meeting Date' => $month->getMeetingDate(new MidMonthMeeting())->format('Y-m-d'), 'End of Month testing Date' => $month->getMeetingDate(new TestingMeeting())->format('Y-m-d')]; } // Log to console Console::log("Exporting to {$filename}..."); // Export it $exporter->export($filename, $meetings); }
<?php // PSR-4 auto-loading require_once dirname(__FILE__) . '/vendor/autoload.php'; try { // Create meetings instance from parameter $scheduler = new \DateTimeTest\Scheduler\Scheduler(); // Generate schedule $scheduler->getMonthlySchedule(); // Export with your favourite method (i.e. CSV) $scheduler->getScheduleReport(__DIR__ . '/exports/export.csv', new \DateTimeTest\Scheduler\Exporters\CsvExporter()); // ... or as JSON $scheduler->getScheduleReport(__DIR__ . '/exports/export.json', new \DateTimeTest\Scheduler\Exporters\JsonExporter()); } catch (Exception $e) { \DateTimeTest\Console::log("Error: {$e->getMessage()}"); }