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