序言
ThinkPHP5.0 具备自动创建功能,可以用来自动生成需要的模块及目录结构和文件等,自动生成主要调用\think\Build 类库。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', 'UserType'], 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 \think\Build::run($build);
然后,在浏览器中打开index.php,之后我们就可以在application文件夹下看到demo模块,demo模块下的内容与build.php中定义的规则一致。
方法二:
在public/index.php中添加如下代码:
1 \think\Build::module('admin');
admin是我们传递的参数,即自动生成的模块的名称。在浏览器中打开index.php,就可以生成admin模块。
以上就是ThinkPHP5.0中自动生成目录结构的全部内容。
转自:https://www.cnblogs.com/liuleilei/p/6764380.html