改进make指令

This commit is contained in:
thinkphp
2016-07-03 21:23:26 +08:00
parent e484f1f689
commit 6d0a7c059e
4 changed files with 10 additions and 9 deletions

View File

@@ -11,6 +11,7 @@
namespace think\console\command;
use think\App;
use think\console\Input;
use think\console\input\Argument;
use think\console\input\Option;
@@ -27,7 +28,7 @@ class Make extends Command
$this
->setName('make')
->setDescription('Create a new applcation class')
->addArgument('namespace', Argument::OPTIONAL, null)
->addArgument('namespace', Argument::REQUIRED)
->addOption('layer', 'l', Option::VALUE_OPTIONAL, 'Layer Name', null)
->addOption('extend', 'e', Option::VALUE_OPTIONAL, 'Extend Base class', null);
}
@@ -61,7 +62,7 @@ class Make extends Command
}
// 生成类库文件
protected function build($namespace, $extend)
protected function build($namespace, $extend, $content = '')
{
$tpl = file_get_contents(THINK_PATH . 'tpl' . DS . 'make.tpl');
@@ -73,8 +74,8 @@ class Make extends Command
$extend = 'extends \\' . ltrim($extend, '\\');
}
// 处理内容
$content = str_replace(['{%extend%}', '{%className%}', '{%namespace%}'],
[$extend, $className, implode('\\', $namespace)],
$content = str_replace(['{%extend%}', '{%className%}', '{%namespace%}', '{%content%}'],
[$extend, $className, implode('\\', $namespace), $content],
$tpl);
// 处理文件名
@@ -86,7 +87,7 @@ class Make extends Command
return realpath($file);
}
protected function getResult($layer, $namespace, $module, $extend)
protected function getResult($layer, $namespace, $module, $extend, $content = '')
{
// 处理命名空间
@@ -116,6 +117,6 @@ class Make extends Command
}
}
return $this->build($namespace, $extend);
return $this->build($namespace, $extend, $content);
}
}

View File

@@ -26,7 +26,7 @@ class Controller extends \think\console\command\Make
$this
->setName('make:controller')
->setDescription('Create a new controller class')
->addArgument('namespace', Argument::OPTIONAL, null)
->addArgument('namespace', Argument::REQUIRED)
->addOption('module', 'm', Option::VALUE_OPTIONAL, 'Module Name', null)
->addOption('extend', 'e', Option::VALUE_OPTIONAL, 'Base on Controller class', null);
}

View File

@@ -26,7 +26,7 @@ class Model extends \think\console\command\Make
$this
->setName('make:model')
->setDescription('Create a new model class')
->addArgument('namespace', Argument::OPTIONAL, null)
->addArgument('namespace', Argument::REQUIRED)
->addOption('module', 'm', Option::VALUE_OPTIONAL, 'Module Name', null)
->addOption('extend', 'e', Option::VALUE_OPTIONAL, 'Base on Model class', null);
}

View File

@@ -13,5 +13,5 @@ namespace {%namespace%};
class {%className%} {%extend%}
{
{%content%}
}