序言
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中自動生成目錄結構的全部內容。