首頁 php框架 ThinkPHP ThinkPHP6新增''多應用''與ThinkPHP5有啥差別呢

ThinkPHP6新增''多應用''與ThinkPHP5有啥差別呢

Apr 30, 2020 am 10:18 AM
thinkphp5 thinkphp6

ThinkPHP6中新增了一個叫做「多重應用」的名詞,這個在ThinkPHP5中並沒有,那麼這個是乾啥的呢?來聽php中文網投稿作者王雪芹嘮叨嘮叨嘮叨……

首先看下ThinkPHP6官方手冊關於多應用的目錄結構:

├─app 应用目录
│  ├─index              主应用
│  │  ├─controller      控制器目录
│  │  ├─model           模型目录
│  │  ├─view            视图目录
│  │  ├─config          配置目录(优先)
│  │  └─ ...            更多类库目录
│  ├─admin              后台应用
│  │  ├─controller      控制器目录
│  │  ├─model           模型目录
│  │  ├─view            视图目录
│  │  ├─config          配置目录(优先)
│  │  └─ ...            更多类库目录
│
├─public                WEB目录(对外访问目录)
│  ├─admin.php          后台入口文件
│  ├─index.php          入口文件
│  ├─router.php         快速测试文件
│  └─.htaccess          用于apache的重写
│
├─config                应用配置目录
│  ├─index              index应用配置
│  └─admin              admin应用配置
│
├─view                视图目录
│  ├─index              index应用视图目录
│  └─admin              admin应用视图目录
│
├─route                 路由定义目录
│  ├─index              index应用路由定义目录
│  └─admin              admin应用路由定义目录
│
├─runtime               运行时目录
│  ├─index              index应用运行时目录
│  └─admin              admin应用运行时目录
登入後複製

(來源於:ThinkPHP6.0快速開發手冊(案例版)

哎呀,這樣一看發ThinkPHP6的多應用也不過如此,一個前台index應用,一個後台admin應用,這就叫多應用了。想當年,我們用ThinkPHP5那也開發過前台應用index、後台應用admin,這又啥差別呢?

區別1:就是必須透過composer下載後才能使用。

ThinkPHP6框架預設下載後是單一應用,要想使用多應用就要下載:

composer require topthink/think-multi-app
登入後複製

區別2:路由定義必須在目前的應用下。

我們知道ThinkPHP5的時候,我們可以在根目錄下的路由檔案定義,但是ThinkPHP6後必須在應用目錄下定義路由。

區別3:ThinkPHP6支援應用入口。

我們可以在ThinkPHP6中對某個應用程式單獨設定入口文件,例如admin應用我可以設定admin.php入口文件來存取。

區別4:網域綁定應用程式。

舉例ThinkPHP5的時候我們定義www.a.com/index/index/company.html的路由後,可以實現這樣的效果www.a.com/company.html

但是ThinkPHP6你會發現怎麼設定路由,index應用程式都去不掉,總是www.a.com/index/company.html,這個可咋整?

那麼解決方案就可以用到了網域綁定應用程式了,我們在config/app.php 設定檔中定義網域和應用程式的綁定,如下:

'domain_bind' => [
'www.a.com' => 'index', // 域名绑定到www应用
'admin.a.com' => 'admin', // admin绑定到后台应用
],
登入後複製

這樣我們就可以用www.a.com/company.html來訪問了。

最後:

總的來說,ThinkPHP6的多重應用相對比ThinkPHP5還是有比較大的進步,雖然在第一次使用麻煩一點需要composer下載,但這不影響我們對ThinkPHP6多應用的青睞。

【推薦教學】

1. thinkphp技術文章

2. thinkphp影片教學

#######

以上是ThinkPHP6新增''多應用''與ThinkPHP5有啥差別呢的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

寶塔部署thinkphp5報錯怎麼辦 寶塔部署thinkphp5報錯怎麼辦 Dec 19, 2022 am 11:04 AM

寶塔部署thinkphp5報錯的解決方法:1、開啟寶塔伺服器,安裝php pathinfo擴充並啟用;2、設定「.access」文件,內容為「RewriteRule ^(.*)$ index.php?s=/$1 [QSA ,PT,L]」;3、在網站管理裡面,啟用thinkphp的偽靜態即可。

thinkphp5 url重寫不行怎麼辦 thinkphp5 url重寫不行怎麼辦 Dec 12, 2022 am 09:31 AM

thinkphp5 url重寫不行的解決方法:1、查看httpd.conf設定檔中是否載入了mod_rewrite.so模組;2、將AllowOverride None中的None改為All;3、修改Apache設定檔.htaccess為「RewriteRule ^ (.*)$ index.php [L,E=PATH_INFO:$1]」保存即可。

怎麼去除thinkphp5標題欄icon 怎麼去除thinkphp5標題欄icon Dec 20, 2022 am 09:24 AM

移除thinkphp5標題列icon的方法:1、找到thinkphp5框架public下的favicon.ico檔案;2、刪除該檔案或選擇另一張圖片命名改為favicon.ico,並取代原favicon.ico檔案即可。

thinkphp5怎麼取得請求過來的網址 thinkphp5怎麼取得請求過來的網址 Dec 20, 2022 am 09:48 AM

thinkphp5取得請求網址的方法:1.使用「\think\Request」類別的「$request = Request::instance();」方法取得目前的url資訊;2、透過自帶的助手函數「$request-> url()」取得包含網域的完整URL位址。

thinkphp5 post不值怎麼辦 thinkphp5 post不值怎麼辦 Dec 06, 2022 am 09:29 AM

thinkphp5 post無法得到值是因為TP5是透過strpos函數在Header的content-type值中找出app/json字串的,其解決辦法就是設定Header的content-type值為app/json即可。

thinkphp6用什麼來取代iframe thinkphp6用什麼來取代iframe Nov 24, 2023 pm 03:54 PM

可以使用Ajax和前端框架來取代iframe。詳細介紹:1、使用Ajax可以透過非同步請求取得伺服器端傳回的數據,然後使用JavaScript將資料插入指定的DOM元素中,實現局部刷新。可以使用jQuery的$.ajax()方法或原生的XMLHttpRequest物件來傳送Ajax請求;2、使用流行的前端框架可以更有效率地管理頁面的狀態和元件,實現動態載入和更新內容。

thinkphp5提示控制器不存在怎麼辦 thinkphp5提示控制器不存在怎麼辦 Dec 06, 2022 am 10:43 AM

thinkphp5提示控制器不存在的解決方法:1、檢查對應的控制器裡面的命名空間是否寫對,修改為正確的命名空間;2、打開對應的tp文件,修改類別名稱即可。

ThinkPHP5怎麼查詢昨天的數據 ThinkPHP5怎麼查詢昨天的數據 Dec 05, 2022 am 09:20 AM

ThinkPHP5查詢昨天資料的方法:1、開啟ThinkPHP5相關檔案;2、透過表達式「db('table')->whereTime('c_time', 'yesterday')->select();」查詢昨天的資料即可。

See all articles