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

王雪芹
發布: 2020-04-30 10:48:17
原創
2857 人瀏覽過

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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!