ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## 自动生成 ThinkPHP5.0.0 具备自动创建功能,可以用来自动生成需要的模块和目录结构。 首先要在入口文件开启自动创建,如下: ~~~ define('APP_AUTO_BUILD',true); ~~~ 开启后,需要定义自动创建的定义文件`build.php`。 默认的框架的根目录下面自带了一个`build.php`示例参考文件,把这个文件复制到application目录下面然后根据需要修改后就可以用于自动生成。 >[danger] 自动生成机制需要`application`目录具备可写权限。 默认的build.php内容如下: ~~~ return [ // 生成运行时目录 'runtime' => [ '__dir__' => ['cache', 'log', 'temp','template'], ], // 定义index模块的自动生成 'index' => [ '__file__' => ['tags.php', 'user.php', 'hello.php'], '__dir__' => ['behavior', 'controller', 'model', 'view'], 'controller' => ['Index', 'Test', 'UserType'], 'model' => [], 'view' => ['index/index'], ], // 。。。 其他更多的模块定义 ]; ~~~ 可以给每个模块定义需要自动生成的文件和目录,以及MVC类。 * `__dir__` 表示生成目录(支持多级目录) * `__file__` 表示生成文件(不定义默认会生成 config.php 文件) * controller 表示生成controller类 * model表示生成model类 * view表示生成html文件(支持子目录) 自动生成以`APP_PATH`为起始目录,`__dir__` 和 `__file__` 表示需要自动创建目录和文件,其他的则表示为模块自动生成。 模块的自动生成则以 `APP_PATH.'模块名/'` 为起始目录。 并且会自动生成模块的默认的Index访问控制器文件用于显示框架的欢迎页面。 我们还可以在`APP_PATH`目录下面自动生成其它的文件和目录,或者增加多个模块的自动生成,例如: ~~~ return [ '__dir__' => ['runtime/cache','runtime/log','runtime/temp'], '__file__' => ['hello.php','test.php'], // 定义index模块的自动生成 'index' => [ '__file__' => ['tags.php', 'user.php', 'hello.php'], '__dir__' => ['behavior', 'controller', 'model', 'view'], 'controller' => ['Index', 'Test', 'UserType'], 'model' => [], 'view' => ['index/index'], ], // 定义test模块的自动生成 'test'=>[ '__dir__' => ['behavior','controller','model','widget'], 'controller'=> ['Index','Test','UserType'], 'model' => ['User','UserType'], 'view' => ['index/index','index/test'], ], // 。。。 其他更多的模块定义 ]; ~~~ > 为了性能考虑,在生成完成之后,建议删除或者更名`build.php`文件。 > 将来计划添加扫描当前数据库自动生成模型类的功能。