tp5.1 自動生成目錄結構

快速生成模塊

生成一個test模塊的指令如下:

>php think build --module test

表示自動生成test模塊,自動生成的模塊目錄包含了configcontrollermodelview目錄以及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

則表示自動生成成功。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章