企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 自动生成目录结构 ThinkPHP5.1 具备自动创建功能,可以用来自动生成需要的模块及目录结构和文件等。 ## 快速生成模块 生成一个`test`模块的指令如下: ``` >php think build --module test ``` 表示自动生成`test`模块,自动生成的模块目录包含了`config`、`controller`、`model`和`view`目录以及`common.php`公共文件。 ## 批量生成模块 如果需要批量生成多个模块的目录和文件,需要定义规则文件`build.php`并放入应用目录下面。 默认的框架的根目录下面自带了一个`build.php`示例参考文件(把该文件修改后放入应用根目录下面即可),内容如下: ``` return [ // 生成应用公共文件 '__file__' => ['common.php'], // 定义demo模块的自动生成 (按照实际定义的文件名生成) 'demo' => [ '__file__' => ['common.php'], '__dir__' => ['behavior', 'controller', 'model', 'view'], 'controller' => ['Index', 'Test', 'UserType'], 'model' => ['User', 'UserType'], 'view' => ['index/index'], ], // 其他更多的模块定义 ]; ``` 可以给每个模块定义需要自动生成的文件和目录,以及MVC类。 - `__dir__` 表示生成目录(支持多级目录) - `__file__` 表示生成文件(不定义默认会生成 config.php 文件) - controller 表示生成controller类 - model表示生成model类 - view表示生成html文件(支持子目录) 自动生成以应用目录为起始目录,`__dir__` 和 `__file__` 表示需要自动创建目录和文件,其他的则表示为模块自动生成。 模块的自动生成则以 **应用目录/模块名/** 为起始目录。 并且会自动生成模块的默认的Index访问控制器文件用于显示框架的欢迎页面。 我们还可以在应用目录下面自动生成其它的文件和目录,或者增加多个模块的自动生成,例如: ``` return [ // 定义demo模块的自动生成 'demo' => [ '__file__' => ['tags.php', 'user.php', 'hello.php'], '__dir__' => ['config', 'controller', 'model', 'view'], 'controller' => ['Index', 'Test', 'UserType'], 'model' => [], 'view' => ['index/index'], ], // 定义test模块的自动生成 'test'=>[ '__dir__' => ['config','controller','model','widget'], 'controller'=> ['Index','Test','UserType'], 'model' => ['User','UserType'], 'view' => ['index/index','index/test'], ], ]; ``` 定义好生成规则文件后,我们在命令行下面输入命令: ``` >php think build ``` 如果看到输出 ``` Successed ``` 则表示自动生成成功。