ThinkPHP6新增‘’多應用‘’與ThinkPHP5有啥區別

首先看下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的多應用也不過如此,一個前臺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的時候我們定義http://www.a.com/index/index/company.html的路由後,可以實現這樣的效果http://www.a.com/company.html

但是ThinkPHP6你會發現怎麼設置路由,index應用都去不掉,始終是http://www.a.com/index/company.html,這個可咋整?

那麼解決方案就可以用到了域名綁定應用了,我們在config/app.php 配置文件中定義域名和應用的綁定,如下方式:

'domain_bind' => [
'www.a.com' => 'index', // 域名綁定到www應用
'admin.a.com' => 'admin', // admin綁定到後臺應用
], 

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

最後:

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

更多學習內容請訪問:

騰訊T3-T4標準精品PHP架構師教程目錄大全,只要你看完保證薪資上升一個臺階(持續更新)

以上內容希望幫助到大家,很多PHPer在進階的時候總會遇到一些問題和瓶頸,業務代碼寫多了沒有方向感,不知道該從那裏入手去提升,對此我整理了一些資料,包括但不限於:分佈式架構、高可擴展、高性能、高併發、服務器性能調優、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql優化、shell腳本、Docker、微服務、Nginx等多個知識點高級進階乾貨需要的可以免費分享給大家,需要的可以加入我的官方羣點擊此處

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章