thinkPHP5自動(dòng)生成目錄結(jié)構(gòu)

原文鏈接: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]

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評(píng)論 19 139
  • Ubuntu的發(fā)音 Ubuntu,源于非洲祖魯人和科薩人的語(yǔ)言,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲(chóng)de夢(mèng)閱讀 100,673評(píng)論 9 468
  • linux資料總章2.1 1.0寫(xiě)的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無(wú)法避免 以后資料會(huì)慢慢更新 大...
    數(shù)據(jù)革命閱讀 13,236評(píng)論 2 33
  • 不出趟是大白話(huà),意思就是扭捏,不大大方方的。 今天讓小妹氣了我一通! 我倆一起去理發(fā)。她剪了剪劉海,我呢,剪了剪長(zhǎng)...
    娜娜柚_閱讀 3,112評(píng)論 0 0
  • 每天一瓶排毒除濕減肥啦!加油加油
    守護(hù)我的愛(ài)閱讀 169評(píng)論 0 0

友情鏈接更多精彩內(nèi)容