如何使用ThinkPHP5 ,自動生成目錄?

 

具體步驟:php

 

 A.在build.php中按照實際需求修改定義模塊的內容;html

 

 B.修改Public/index.php,在代碼中加入:框架

 

// 讀取自動生成定義文件
$build = include '/../build.php';
// 運行自動生成
\think\Build::run($build,'test',true);

 

 C.運行localhost/項目名稱/public/index.php  ui

 

成功!spa

 

 

1.首先須要定義一個用於自動生成的規則定義文件,一般命名爲build.phpcode

默認的框架的根目錄下面自帶了一個build.php示例參考文件,內容以下:htm

return [
    // 生成運行時目錄
    '__file__' => ['common.php'],

    // 定義index模塊的自動生成
    'index'    => [
        '__file__'   => ['common.php'],
        '__dir__'    => ['behavior', 'controller', 'model', 'view'],
        'controller' => ['Index', 'Test', 'UserType'],
        'model'      => [],
        'view'       => ['index/index'],
    ],
    // 。。。 其餘更多的模塊定義
];

能夠給每一個模塊定義須要自動生成的文件和目錄,以及MVC類。blog

  • __dir__ 表示生成目錄(支持多級目錄)
  • __file__ 表示生成文件(不定義默認會生成 config.php 文件)
  • controller 表示生成controller類
  • model表示生成model類
  • view表示生成html文件(支持子目錄)

自動生成以APP_PATH爲起始目錄,__dir__ 和 __file__ 表示須要自動建立目錄和文件,其餘的則表示爲模塊自動生成。get

模塊的自動生成則以 APP_PATH.'模塊名/' 爲起始目錄。io

而且會自動生成模塊的默認的Index訪問控制器文件用於顯示框架的歡迎頁面。

咱們還能夠在APP_PATH目錄下面自動生成其它的文件和目錄,或者增長多個模塊的自動生成,例如:

return [
    '__file__'  => ['hello.php','test.php'],
    // 定義index模塊的自動生成
    'index'   => [
        '__file__'   => ['tags.php', 'user.php', 'hello.php'],
        '__dir__'    => ['behavior', 'controller', 'model', 'view'],
        'controller' => ['Index', 'Test', 'UserType'],
        'model'      => [],
        'view'       => ['index/index'],
    ],    
    // 定義test模塊的自動生成
    'test'=>[
        '__dir__'   =>  ['behavior','controller','model','widget'],
        'controller'=>  ['Index','Test','UserType'],
        'model'     =>   ['User','UserType'],
        'view'      =>  ['index/index','index/test'],
    ],
 ];
相關文章
相關標籤/搜索