Thinkphp5.0实战开发二------自动生成目录结构

序言

       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中自动生成目录结构的全部内容。

posted @ 2017-04-26 16:32  ProQianXiao  阅读(3179)  评论(0编辑  收藏  举报