午夜91福利视频,午夜成人在线观看,午夜在线视频免费观看,午夜福利短视频,精品午夜成人免费视频APP

自動生成目錄結構

ThinkPHP5.0 具備自動創建功能,可以用來自動生成需要的模塊及目錄結構和文件等,自動生成主要調用\think\Build類庫。

生成規則定義

首先需要定義一個用于自動生成的規則定義文件,通常命名為build.php

默認的框架的根目錄下面自帶了一個build.php示例參(can)考文件(jian),內容如(ru)下(xia):

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

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

可以(yi)給每(mei)個模塊定義需(xu)要自動生(sheng)成的文件和(he)目錄,以(yi)及(ji)MVC類。

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

自動生成以APP_PATH為起始目錄,__dir__ 和 __file__ 表(biao)示(shi)(shi)需要(yao)自動(dong)創建目錄和文件,其他的則表(biao)示(shi)(shi)為(wei)模塊自動(dong)生成(cheng)。

模塊的自動生成則以 APP_PATH.'模塊名/' 為(wei)起始目錄。

并且會(hui)自動生成(cheng)模塊的(de)默認的(de)Index訪(fang)問控制器文件用于顯示框架的(de)歡迎頁面。

我們還可以在APP_PATH目(mu)錄(lu)下(xia)面自動生(sheng)成其它的文件和目(mu)錄(lu),或者(zhe)增加多個模塊的自動生(sheng)成,例如:

return [
    '__file__'  => ['hello.php','test.php'],
    // 定義index模(mo)塊的自(zi)動生成(cheng)
    'index'   => [
        '__file__'   => ['tags.php', 'user.php', 'hello.php'],
        '__dir__'    => ['behavior', 'controller', 'model', 'view'],
        'controller' => ['Index', 'Test', 'UserType'],
        'model'      => [],
        'view'       => ['index/index'],
    ],    
    // 定義test模塊的自(zi)動(dong)生成
    'test'=>[
        '__dir__'   =>  ['behavior','controller','model','widget'],
        'controller'=>  ['Index','Test','UserType'],
        'model'     =>   ['User','UserType'],
        'view'      =>  ['index/index','index/test'],
    ],
 ];

命令行自動生成

我們通(tong)過控(kong)制臺來完成自(zi)動生(sheng)成,切換到命令行,在應用的(de)根目錄輸入下面(mian)命令:

>php think build

如果看到輸出

Successed

則表示自動(dong)生(sheng)成(cheng)成(cheng)功。

默認會讀取應用目錄application下面的build.php 作為自動生成的定義文件,如果你的定義文件位置不同,則需要使用--config參數指定如下:

>php think build --config build.php

表示讀取根目錄下的build.php文件。

生成模塊指令

>php think build --module test

表示自動生成test模塊。

添加自動生成代碼

如果你不習慣命令行操作,也可以直接調用\think\Build類的方法進行(xing)自動生(sheng)成,例如:

// 定義應用目錄(lu)
define('APP_PATH', __DIR__ . '/../application/');
// 加載(zai)框(kuang)架引(yin)導文件(jian)
require __DIR__ . '/../thinkphp/start.php';
// 讀取自(zi)動(dong)生成定義文(wen)件
$build = include 'build.php';
// 運行自動生成
\think\Build::run($build);

run方法第二個參數用于指定要生成的應用類庫的命名空間,默認是app,第三個參數是設置是否需要使用類后綴。
例如:

// 定(ding)義應用目錄(lu)
define('APP_PATH', __DIR__ . '/../application/');
// 加載(zai)框(kuang)架引導文(wen)件
require __DIR__ . '/../thinkphp/start.php';
// 讀取(qu)自動生成定(ding)義文件(jian)
$build = include 'build.php';
// 運行自(zi)動生(sheng)成(cheng)
\think\Build::run($build,'application',true);

可以不依賴自動生成文件,直接使用默認目錄生成模塊,例如(ru):

// 定義(yi)應用目(mu)錄
define('APP_PATH', __DIR__ . '/../application/');
// 加載(zai)框(kuang)架引導文件(jian)
require __DIR__ . '/../thinkphp/start.php';
// 自動生(sheng)成admin模塊(kuai)
\think\Build::module('admin');

module方法第二個參數和第三個參數的用法和run方法一樣。

文檔最后更新時間:2018-04-26 11:01:24

文檔
 目(mu)錄(lu)

深色
模式

切換
寬度