コード例 #1
0
ファイル: DefaultGenerator.php プロジェクト: mongator/factory
 public static function date(Factory $factory, $name, array $config)
 {
     return function ($sequence = null) use($factory, $name, $config) {
         $value = $config['value'];
         if (!$value) {
             $timestamp = time();
         } else {
             if (is_integer($value) || is_float($value)) {
                 $timestamp = $value;
             } else {
                 $generated = DefaultGenerator::generate($factory->getFaker(), $config['value']);
                 if ($generated == $config['value']) {
                     $timestamp = strtotime($generated);
                 } else {
                     if (!$generated instanceof \DateTime) {
                         throw new \InvalidArgumentException('Unexpected faker method, must return a DateTime object');
                     }
                     return $generated;
                 }
             }
         }
         $date = new \DateTime();
         $date->setTimestamp($timestamp);
         return $date;
     };
 }