原文鏈接:https://www.whongbin.cn/index/article/detail/id/52.html
說(shuō)點(diǎn)廢話(huà)
每次在使用tp搭建新的項(xiàng)目的時(shí)候,實(shí)話(huà)說(shuō),創(chuàng)建目錄是個(gè)毫無(wú)意義且機(jī)械的操作,后來(lái)才發(fā)現(xiàn),tp可以自動(dòng)生成目錄結(jié)構(gòu),只能說(shuō)我年少無(wú)知啊[aru_25].(ps:博主自學(xué)的tp5,接觸不久,沒(méi)搞過(guò)tp3[aru_2])
方法介紹
在安裝完tp5的時(shí)候,根目錄默認(rèn)會(huì)生成一個(gè)
build.php的文件,這個(gè)文件就是用來(lái)定義你即將要生成的目錄規(guī)則的,據(jù)官方文檔介紹,這個(gè)文件可以放在APP_PATH目錄下,區(qū)別在于調(diào)用二者的路徑不同.
文件內(nèi)容如下:
<?php
return [
// 生成應(yīng)用公共文件
'__file__' => ['common.php', 'config.php'],
// 定義demo模塊的自動(dòng)生成 (按照實(shí)際定義的文件名生成)
'demo' => [
'__file__' => ['common.php'],
'__dir__' => ['behavior', 'controller', 'model', 'view'],
'controller' => ['Index', 'Test', 'UserType'],
'model' => ['User', 'UserType'],
'view' => ['index/index'],
],
// 其他更多的模塊定義
];
上述代碼執(zhí)行后會(huì)在 appapplication 目錄下生成 demo 目錄,demo 中會(huì)生成如下文件,這些目錄中包含哪些文件就不說(shuō)了,自己動(dòng)手試試吧[aru_47]
在PHP中執(zhí)行自動(dòng)生成
這種方法可以直接調(diào)用 \think\Build 類(lèi)的方法進(jìn)行自動(dòng)生成,現(xiàn)在項(xiàng)目入口文件中添加執(zhí)行代碼,保存后直接訪(fǎng)問(wèn)網(wǎng)站即可自動(dòng)生成:
<?php
// [ 應(yīng)用入口文件 ]
// 定義應(yīng)用目錄
define('APP_PATH', __DIR__ . '/../application/');
define('MOULD_PATH', __DIR__ . '/../mould/');
define('SITE_URL', 'http://hatch.whongbin.cn');
// 加載框架引導(dǎo)文件
require __DIR__ . '/../thinkphp/start.php';
// 讀取自動(dòng)生成定義文件
$build = include __DIR__ . '/../build.php';
// 運(yùn)行自動(dòng)生成
\think\Build::run($build);
在命令行中執(zhí)行生成
這種方法是在命令行中執(zhí)行的(如果你的項(xiàng)目是放在PHP空間的話(huà),這種方法不適用).連接服務(wù)器,進(jìn)到項(xiàng)目根目錄
在這有兩個(gè)需要注意的地方:
- 如果你的
build.php文件是放在application目錄下的,執(zhí)行以下命令:
#這是默認(rèn)命令,默認(rèn)讀取application目錄下的build.php文件
>php think build
- 如果你的
build.php文件是放在application目錄下的,執(zhí)行以下命令:
>php think build --config build.php
- 如果你在
build.php文件中定義了多個(gè)模塊,現(xiàn)在只需要生成其中的某一個(gè)模塊,執(zhí)行下面命令(僅生成test模塊):
>php think build --module test
上述命令執(zhí)行后如果返回 Successed, 證明命令已成功執(zhí)行,模塊已生成
啰嗦一句
說(shuō)實(shí)話(huà),我找到這個(gè)方法的時(shí)候著實(shí)高興了一下下,一條命令就能省下多少時(shí)間啊,這些時(shí)間用來(lái)撩女朋友多好啊!哈哈[aru_147]

