예제 #1
0
 /**
  * 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);
 }
예제 #2
0
<?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()}");
}