快速生成模塊
生成一個test
模塊的指令如下:
>php think build --module test
表示自動生成test
模塊,自動生成的模塊目錄包含了config
、controller
、model
和view
目錄以及common.php
公共文件。
批量生成模塊
如果需要批量生成多個模塊的目錄和文件,需要定義規則文件build.php
並放入應用目錄下面。
默認的框架的根目錄下面自帶了一個build.php
示例參考文件(把該文件修改後放入應用根目錄下面即可),內容如下:
return [
// 生成應用公共文件
'__file__' => ['common.php'],
// 定義demo模塊的自動生成 (按照實際定義的文件名生成)
'demo' => [
'__file__' => ['common.php'],
'__dir__' => ['behavior', 'controller', 'model', 'view'],
'controller' => ['Index', 'Test', 'UserType'],
'model' => ['User', 'UserType'],
'view' => ['index/index'],
],
// 其他更多的模塊定義
];
可以給每個模塊定義需要自動生成的文件和目錄,以及MVC類。
__dir__
表示生成目錄(支持多級目錄)__file__
表示生成文件(不定義默認會生成 config.php 文件)- controller 表示生成controller類
- model表示生成model類
- view表示生成html文件(支持子目錄)
自動生成以應用目錄爲起始目錄,__dir__
和 __file__
表示需要自動創建目錄和文件,其他的則表示爲模塊自動生成。
模塊的自動生成則以 應用目錄/模塊名/ 爲起始目錄。
並且會自動生成模塊的默認的Index訪問控制器文件用於顯示框架的歡迎頁面。
我們還可以在應用目錄下面自動生成其它的文件和目錄,或者增加多個模塊的自動生成,例如:
return [
// 定義demo模塊的自動生成
'demo' => [
'__file__' => ['tags.php', 'user.php', 'hello.php'],
'__dir__' => ['config', 'controller', 'model', 'view'],
'controller' => ['Index', 'Test', 'UserType'],
'model' => [],
'view' => ['index/index'],
],
// 定義test模塊的自動生成
'test'=>[
'__dir__' => ['config','controller','model','widget'],
'controller'=> ['Index','Test','UserType'],
'model' => ['User','UserType'],
'view' => ['index/index','index/test'],
],
];
定義好生成規則文件後,我們在命令行下面輸入命令:
>php think build
如果看到輸出
Successed
則表示自動生成成功。