1. 程式人生 > >【ThinkPHP】解析ThinkPHP5創建模塊

【ThinkPHP】解析ThinkPHP5創建模塊

clas alt bsp -- dir col 文件內容 令行 mon

在根目錄下有一個build.php文件,該文件是自動生成的,自動創建模塊。
技術分享圖片
build.php的文件內容如下:

<?php
return [
    // 生成應用公共文件
    ‘__file__‘ => [‘common.php‘, ‘config.php‘, ‘database.php‘],

    // 定義demo模塊的自動生成 (按照實際定義的文件名生成)
    ‘demo‘     => [
        ‘__file__‘   => [‘common.php‘],
        ‘__dir__‘    => [‘behavior‘, ‘controller‘, ‘model‘, ‘view‘],
        ‘controller‘ => [‘Index‘, ‘Test‘, ‘UserType‘],
        ‘model‘      => [‘User‘, ‘UserType‘],
        ‘view‘       => [‘index/index‘],
    ]
, // 其他更多的模塊定義 ];

其中
__dir__ 表示生成目錄,可以支持多級目錄
__file__ 表示生成文件,不定義默認會生成config.php和common.php文件
controller 表示生成的controller類
model 表示生成model類
view 表示生成html文件

默認的build.php文件,只有一個demo模塊。可以按照上面的demo模板,定義更多的模塊。

接下就是生成模塊文件了,有兩種模塊生成方式,第一種是通過命令行方式,第二種是通過鏈接訪問的方式。

命令行方式:

首先拷貝根目錄下的build.php文件到application文件夾下,然後在項目的根目錄下執行命令

php think build --module demo

執行結果顯示Success,表示生成成功。如果不指定--module參數,那麽將會生成build.php中配置的所有的模塊。
技術分享圖片

鏈接訪問方式:

通過在項目目錄下的public/index.php文件中進行配置,然後通過鏈接訪問的方式完成生成模塊目錄:
index.php文件原來的內容如下:

<?php
// [ 應用入口文件 ]
// 定義應用目錄
define(‘APP_PATH‘, __DIR__ . ‘/../application/‘);
// 加載框架引導文件
require __DIR__ . ‘/../thinkphp/start.php‘;

然後在index.php後面加上如下語句:

$build = include APP_PATH.‘build.php‘;
\think\Build::run($build);

然後訪問 http://localhost/項目名稱/public/index.php ,就完成模塊目錄的生成了。

【ThinkPHP】解析ThinkPHP5創建模塊