序言
ThinkPHP5.0 具备自动创建功能,可以用来自动生成需要的模块及目录结构和文件等,自动生成主要调用thinkBuild 类库。ThinkPHP5.0中模块文件夹在application下,默认只有index模块,我们可以根据需要自动生成模块,模块文件夹中的内容可以自己在build.php文件进行定义。下面介绍两种自动生成目录结构的方法。
方法一:
首先,我们看下build.php文件中的内容:
build.php
1 <?php
2 // +----------------------------------------------------------------------
3 // | ThinkPHP [ WE CAN DO IT JUST THINK ]
4 // +----------------------------------------------------------------------
5 // | Copyright (c) 2006~2016 http://thinkphp.cn All rights reserved.
6 // +----------------------------------------------------------------------
7 // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
8 // +----------------------------------------------------------------------
9 // | Author: liu21st <liu21st@gmail.com>
10 // +----------------------------------------------------------------------
11
12 return [
13 // 生成应用公共文件
14 '__file__' => ['common.php','config.php','database.php'],
15
16 // 定义demo模块的自动生成 (按照实际定义的文件名生成)
17 'demo' => [
18 '__file__' => ['common.php'],
19 '__dir__' => ['behavior','controller','model','view'],
20 'controller' => ['Index','Test','UserType'],
21 'model' => ['User',
22 'view' => ['index/index'],
23 ],
24 // 其他更多的模块定义
25 ];
从上面的代码中,我们可以看出自动默认生成的模块名称是demo。demo文件夹下有文件common.php,以及四个文件夹:behavior,controller,model,view。controller文件夹下有:Index.php,Test.php,UserType.php;model文件夹下有:User.php,UserType.php;view文件夹下有:index文件夹,index文件夹下又有index.php。
自动生成目录结构:
在public/index.php文件,添加如下代码:
1 // 读取自动生成定义文件
2 $build = include '../build.php';
3 // 运行自动生成
4 thinkBuild::run($build);
然后,在浏览器中打开index.php,之后我们就可以在application文件夹下看到demo模块,demo模块下的内容与build.php中定义的规则一致。
方法二:
在public/index.php中添加如下代码:
1 thinkBuild::module('admin');
admin是我们传递的参数,即自动生成的模块的名称。在浏览器中打开index.php,就可以生成admin模块。
以上就是ThinkPHP5.0中自动生成目录结构的全部内容。
转自:https://www.cnblogs.com/liuleilei/p/6764380.html