ThinkPHP5.0 具备自动创建功能,可以用来自动生成需要的模块及目录结构和文件等,自动生成主要调用 \think\Build 类库。
生成规则定义
首先定义一个用于自动生成的规则定义文件,通常命名为build.php .
默认的框架的根目录下面自带一个build.php
该文件内容如下:
可以给每个模块定义需要自动生成的文件和目录,以及MVC类。
__dir__ 表示生成目录(支持多级目录)
__file__ 表示生成文件(不定义默认会生成 config.php 文件)
controller 表示生成controller类
model表示生成model类
view表示生成html文件(支持子目录)
自动生成以APP_PATH为起始目录,__dir__ 和 __file__ 表示需要自动创建目录和文件,其他的则表示为模块自动生成。
模块的自动生成则以 APP_PATH.'模块名/' 为起始目录。
并且会自动生成模块的默认的Index访问控制器文件用于显示框架的欢迎页面。
我们还可以在APP_PATH目录下面自动生成其它的文件和目录,或者增加多个模块的自动生成
例如,这样就生成了两个文件夹demo以及demo1
添加自动生成代码
1.直接调用\think\Build类的方法进行自动生成
在 index.php 文件下添加自动生成代码.
$build = include APP_PATH.'build.php';
\think\Build::run($build);
run方法第二个参数用于指定要生成的应用类库的命名空间,默认是app,第三个参数是设置是否需要使用类后缀。
例如
2.不依赖自动生成文件,直接使用默认目录生成模块
例如:
默认生成 admin 文件夹如下
注: module方法第二个参数和第三个参数的用法和run方法一样。