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); }