【ThinkPHP】解析ThinkPHP5建立模塊

在根目錄下有一個build.php文件,該文件是自動生成的,自動建立模塊。

build.php的文件內容以下: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模板,定義更多的模塊。

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

 

命令行方式:

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

php think build --module demo

執行結果顯示Success,表示生成成功。若是不指定--module參數,那麼將會生成build.php中配置的全部的模塊。
app

連接訪問方式:

經過在項目目錄下的public/index.php文件中進行配置,而後經過連接訪問的方式完成生成模塊目錄:
index.php文件原來的內容以下:框架

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

而後在index.php後面加上以下語句:ui

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

這裏要找對build.php文件的位置,不一樣的環境可能不同spa

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

命令行

相關文章
相關標籤/搜索