溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Thinkphp5.0如何自動生成模塊及目錄

發(fā)布時間:2021-06-24 11:06:47 來源:億速云 閱讀:210 作者:小新 欄目:開發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)Thinkphp5.0如何自動生成模塊及目錄的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

Thinkphp5.0發(fā)布已有些時日了,據(jù)說性能方面有很大的提升,按照官方的話,ThinkPHP5.0版本是一個顛覆和重構(gòu)版本,采用全新的架構(gòu)思想,引入了很多的PHP新特性,優(yōu)化了核心,減少了依賴,實現(xiàn)了真正的惰性加載,并針對API開發(fā)做了大量的優(yōu)化。是時候得download一份,研究一下。今天主要講講其自動創(chuàng)建模塊及目錄。

Thinkphp5.0自動生成模塊較ThinkPHP3.2,確實有很大的變化。

再次,主要討論Thinkphp5.0生成模塊。

準(zhǔn)備工作

首先從官方下載ThinkPHP5.0,下載后文件結(jié)構(gòu)如下:

Thinkphp5.0如何自動生成模塊及目錄

只保留thinkphp目錄其他的所有目錄及文件一并刪除(可以先轉(zhuǎn)移到其他地方,以備后續(xù)使用)

現(xiàn)在就開始生成項目需要目錄

thinkphp3.2創(chuàng)建目錄貌似簡單,但是thinkphp5.0卻更加靈活。不禁想起了良才是把復(fù)雜的事情變簡單;庸才是把簡單的事情變復(fù)雜;蠢材是把簡單的事情變得更簡單,復(fù)雜的事情變得更復(fù)雜。

1.創(chuàng)建入口文件index.php,雖然官方強調(diào)入口文件位置,可以隨意放置,但是為了便于學(xué)習(xí),還是放在根目錄下

// 應(yīng)用入口文件
define('APP_PATH', 'application/'); // 定義項目路徑,和之前3.2版本沒有區(qū)別
define('APP_AUTO_BUILD',true); //開啟自動生成
define('APP_DEBUG', true);// 開啟調(diào)試模式
define('MODULE','module');
// 加載框架引導(dǎo)文件
require 'thinkphp/start.php';
// 執(zhí)行應(yīng)用
\think\App::run();

其實我個人覺得,TP官方為啥不把,程序的執(zhí)行\(zhòng)think\App::run(); 放置在start.php  目錄呢?最后,發(fā)現(xiàn)原來TP5.0引入了一個define('APP_AUTO_RUN', true);常量,當(dāng)在index.php頁面定義了改常量,項目就會自動執(zhí)行,不需要添加\think\App::run();

2.創(chuàng)建項目名與build.php文件

個人感覺thinkphp5.0做的不好的一點就是上面定義的項目文件夾需要自己創(chuàng)建,究其原因,因為里面要放置項目創(chuàng)建配置文件build.php。但是為啥TP官方不把build.php放置在根目錄下呢?然后自動生成application文件夾呢?在這一點我覺得TP3.2做的就比5.0好。

現(xiàn)在來討論一下build.php,官方默認的bulid.php內(nèi)容如下,現(xiàn)在來討論一下

return [
  // 生成運行時目錄
  '__dir__' => ['runtime/cache', 'runtime/log', 'runtime/temp', 'runtime/template'],
  '__file__' => ['common.php'],
  // 定義index模塊的自動生成
  'index'  => [
    '__file__'  => ['common.php'],
    '__dir__'  => ['behavior', 'controller', 'model', 'view'],
    'controller' => ['Index', 'Test', 'UserType'],
    'model'   => [],
    'view'    => ['index/index'],
  ],
  // 。。。 其他更多的模塊定義
];

可以給每個模塊定義需要自動生成的文件和目錄,以及MVC類。

__dir__ 表示生成目錄(支持多級目錄)
__file__ 表示生成文件(不定義默認會生成 config.php 文件)
controller 表示生成controller類
model表示生成model類
view表示生成html文件(支持子目錄)

自動生成以APP_PATH 為起始目錄, __dir__ 和 __file__ 表示需要自動創(chuàng)建目錄和文件,其他的則表示為模塊自動生成。

模塊的自動生成則以 APP_PATH.'模塊名/' 為起始目錄。

最后直接運行index.php文件即可。

Thinkphp5.0如何自動生成模塊及目錄

感謝各位的閱讀!關(guān)于“Thinkphp5.0如何自動生成模塊及目錄”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI