/** * 创建迁移 */ public function actCreate() { $request = \H2O::getContainer('request'); //控制台请求 $params = $request->getParams(); $name = isset($params['name']) ? $params['name'] : 'crt' . date('YmdHis'); $name = ucfirst($name); $mfile = $this->_migratedir . DS . $name . '.php'; if (file_exists($mfile)) { //文件已存在,提示 echo $mfile . ' is exist!' . PHP_EOL; exit; } $oimg = new \H2O\coding\Image(); if ($name == 'All') { //全量模板 $oimg->file('migrate/all.php', $mfile, ['search' => ['T_NAMESPACE', 'T_CLASS'], 'replace' => [substr($this->_namespace, 1), $name]]); } else { //普通通用模型 $oimg->file('migrate/general.php', $mfile, ['search' => ['T_NAMESPACE', 'T_CLASS'], 'replace' => [substr($this->_namespace, 1), $name]]); } echo 'Migrate application to create success!' . PHP_EOL; }
/** * 选择组合 * @param $gp * @return array */ private function _chooseGroup($gp) { $oimg = new \H2O\coding\Image(); $simdir = $oimg->getTplDir() . 'app' . DS . $gp; $smch = $this->_readDir($simdir); //读取目录 echo 'Please choose your application group:' . PHP_EOL; $i = 1; $aptyp = []; $input = []; foreach ($smch as $k => $p) { echo $i . ':' . $k . PHP_EOL; $aptyp[$i] = $k; $input[] = $i; $i++; } echo "Enter your number:"; $aptn = $this->_getInputRangVal($input); $group = $aptyp[$aptn]; //对应的应用组合 $groupath = $smch[$group]; //对应组合目录 return ['name' => $group, 'path' => $groupath]; }