示例#1
0
 public function createVersionFile($description = '')
 {
     $description = $this->prepareDescription($description);
     $originTz = date_default_timezone_get();
     date_default_timezone_set('Europe/Moscow');
     $versionName = 'Version' . date('YmdHis');
     date_default_timezone_set($originTz);
     list($extendUse, $extendClass) = explode(' as ', Module::getMigrationExtendClass());
     $extendUse = trim($extendUse);
     $extendClass = trim($extendClass);
     if (!empty($extendClass)) {
         $extendUse = 'use ' . $extendUse . ' as ' . $extendClass . ';' . PHP_EOL;
     } else {
         $extendClass = $extendUse;
         $extendUse = '';
     }
     $str = $this->renderFile(Module::getMigrationTemplate(), array('version' => $versionName, 'description' => $description, 'extendUse' => $extendUse, 'extendClass' => $extendClass));
     $file = $this->getVersionFile($versionName);
     file_put_contents($file, $str);
     if (!is_file($file)) {
         Out::outError('%s, error: can\'t create a file "%s"', $versionName, $file);
         return false;
     }
     return array('version' => $versionName, 'location' => $file, 'description' => $description);
 }