先看結論
最好還是不要用多應用模式,後期坑比較多。
官方文檔的意思是在多應用中想要url位址中不出現應用名,可以通過域名綁定來實作,就是要綁定二級域名
文檔位置:https://www.kancloud.cn/manual/thinkphp6_0/1297876
準備
安裝tp6和部署這裡不表,我們一步步來搞清楚tp6多引用模式
本地域名 :www.duo.com
1.安裝多應用
建立預設應用<code>index</code>
重新整理頁面,發現報錯了
這個時候怎麼檢視具體報錯資訊?複制一份<code>.example.env</code>命名為<code>.env</code>
再次重新整理,可以看到詳細的報錯資訊
跟着提示我們建立控制器
這是指令行建立,單應用和多應用不太一樣
文檔:https://www.kancloud.cn/manual/thinkphp6_0/1037644
然後寫一個index方法
重新整理頁面,可以看到index這個預設應用可以通路到了
接着我們一口氣直接建立一個網站背景應用
這個時候通路,域名 添加一個admin 即可直接通路
接着我們繼續說,一般開發肯定是要使用強制路由,所去<code>config/route.php</code>下如下兩項目改成true
強制路由應該不難了解,完全比對要是不知道含義的可以看文檔解釋
https://www.kancloud.cn/manual/thinkphp6_0/1037495
接着我們重新整理頁面,提示路由未定義
去admin應用下定義路由,直接把最外層的route目錄複制一份到admin應用
重新整理頁面,又正常顯示了
按照同樣的方法,也複制一份route目錄到index應用,即可正常通路
拓展:平常在開發中可能不止是傳統pc站的應用,可以能還有api和移動端的。
是以我們在建立應用的時候多半會出現以下幾個子產品
接着我們繼續講,如何隐藏背景管理的入口位址?
比如 http://www.duo.com/admin 我不想讓普通使用者輸入 admin 就直接進入背景的登入頁面
我們可以這樣做,通過應用映射 來隐藏入口位址,此時通過 /admin就不能通路了 ,上線後可以随意更改背景入口位址
接下來清理以下目錄,我們把一些多餘的目錄删除
現在看起來要清楚很多了
接着我們繼續來講一個知識點,那就是api子產品,現在幾乎都是api前後端分離模式的
我們建立一個api應用
關于第一個api的版本控制問題(重點),有些時候有這樣的場景,就是api第一個版本不能立馬下線或者需要保留的時候,我們可以這樣來進行更新
建立類
路由重新定義
前面那個<code>v1.</code> <code>v2.</code> 格式不了解的看文檔
https://www.kancloud.cn/manual/thinkphp6_0/1037497
通路,這樣就完成了對api版本的控制。
接着我們來講一下,api開發的第二個知識點,二級域名路由通路api
意思就是由原來的
改成如下格式來進行通路
這種常見的操作,我們該怎麼實作呢?
首先,我們要把二級域名 <code>api.duo.com</code>解析到你的伺服器的ip位址上,我這裡本地測試就用phpstudy來模拟了
記得添加僞靜态
解析好後,我們打開項目<code>config/app.php</code>如下配置即可
通路測試,注意:這樣配置後原來的路由位址通路依然有效。