1. 程式人生 > >TP5自動生成模塊

TP5自動生成模塊

是否 開啟 apache fig uil module 自動 avi es2017

  1. 如何去掉public?

  方法①:把網站根目錄放到public目錄下即可,如

  www/ 改為 www/public,TP5的文件還是直接放在www/目錄下

  技術分享

 技術分享

  方法②:將public下的index.php移動到根目錄,修改index.php裏面的代碼,改變引用路徑如下:

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

  如果要開啟重寫機制,還要將public下的.htaccess也一起剪到根目錄(限apache服務器)

  2.自動生成模塊

  1)在網站根目錄有一個bulid.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‘],
    ]
, // 其他更多的模塊定義 ];

  2)復制一份 demo 部分代碼,把“demo”修改成自己需要的模塊名字,其他部分默認不需要修改

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‘],
    ]
, // 其他更多的模塊定義 ‘admin‘ => [ ‘__file__‘ => [‘common.php‘], ‘__dir__‘ => [‘behavior‘, ‘controller‘, ‘model‘, ‘view‘], ‘controller‘ => [‘Index‘, ‘Test‘, ‘UserType‘], ‘model‘ => [‘User‘, ‘UserType‘], ‘view‘ => [‘index/index‘], ], ];

  3)在網站index.php文件中添加兩段代碼,運行自動生成文件

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

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

  4)直接訪問站點首頁,會執行index.php這個文件,自動生成模塊及其相應的目錄文件(如下)

  技術分享

  註意事項:

  1) 開始多模塊必須保證開啟了多模塊(默認開啟),可在config.php中設置

// 是否支持多模塊
    ‘app_multi_module‘       => true,

  2)index.php不一定在public文件中,有時候會被設置在根目錄下,要保證bulid.php的文件目錄引入路徑正確

TP5自動生成模塊