天天看點

tp6從新安裝一個空白項目了解多應用模式

先看結論

最好還是不要用多應用模式,後期坑比較多。

官方文檔的意思是在多應用中想要url位址中不出現應用名,可以通過域名綁定來實作,就是要綁定二級域名

文檔位置:https://www.kancloud.cn/manual/thinkphp6_0/1297876

tp6從新安裝一個空白項目了解多應用模式

準備

安裝tp6和部署這裡不表,我們一步步來搞清楚tp6多引用模式

本地域名 :www.duo.com

tp6從新安裝一個空白項目了解多應用模式

1.安裝多應用

建立預設應用<code>index</code>

tp6從新安裝一個空白項目了解多應用模式

重新整理頁面,發現報錯了

tp6從新安裝一個空白項目了解多應用模式

這個時候怎麼檢視具體報錯資訊?複制一份<code>.example.env</code>命名為<code>.env</code>

tp6從新安裝一個空白項目了解多應用模式

再次重新整理,可以看到詳細的報錯資訊

tp6從新安裝一個空白項目了解多應用模式

跟着提示我們建立控制器

這是指令行建立,單應用和多應用不太一樣

文檔:https://www.kancloud.cn/manual/thinkphp6_0/1037644

然後寫一個index方法

tp6從新安裝一個空白項目了解多應用模式

重新整理頁面,可以看到index這個預設應用可以通路到了

tp6從新安裝一個空白項目了解多應用模式

接着我們一口氣直接建立一個網站背景應用

tp6從新安裝一個空白項目了解多應用模式

這個時候通路,域名 添加一個admin 即可直接通路

tp6從新安裝一個空白項目了解多應用模式

接着我們繼續說,一般開發肯定是要使用強制路由,所去<code>config/route.php</code>下如下兩項目改成true

tp6從新安裝一個空白項目了解多應用模式

強制路由應該不難了解,完全比對要是不知道含義的可以看文檔解釋

https://www.kancloud.cn/manual/thinkphp6_0/1037495

接着我們重新整理頁面,提示路由未定義

tp6從新安裝一個空白項目了解多應用模式

去admin應用下定義路由,直接把最外層的route目錄複制一份到admin應用

tp6從新安裝一個空白項目了解多應用模式

重新整理頁面,又正常顯示了

tp6從新安裝一個空白項目了解多應用模式

按照同樣的方法,也複制一份route目錄到index應用,即可正常通路

tp6從新安裝一個空白項目了解多應用模式

拓展:平常在開發中可能不止是傳統pc站的應用,可以能還有api和移動端的。

是以我們在建立應用的時候多半會出現以下幾個子產品

接着我們繼續講,如何隐藏背景管理的入口位址?

比如 http://www.duo.com/admin 我不想讓普通使用者輸入 admin 就直接進入背景的登入頁面

我們可以這樣做,通過應用映射 來隐藏入口位址,此時通過 /admin就不能通路了 ,上線後可以随意更改背景入口位址

tp6從新安裝一個空白項目了解多應用模式
tp6從新安裝一個空白項目了解多應用模式
tp6從新安裝一個空白項目了解多應用模式

接下來清理以下目錄,我們把一些多餘的目錄删除

tp6從新安裝一個空白項目了解多應用模式

現在看起來要清楚很多了

tp6從新安裝一個空白項目了解多應用模式

接着我們繼續來講一個知識點,那就是api子產品,現在幾乎都是api前後端分離模式的

我們建立一個api應用

tp6從新安裝一個空白項目了解多應用模式
tp6從新安裝一個空白項目了解多應用模式
tp6從新安裝一個空白項目了解多應用模式

關于第一個api的版本控制問題(重點),有些時候有這樣的場景,就是api第一個版本不能立馬下線或者需要保留的時候,我們可以這樣來進行更新

建立類

tp6從新安裝一個空白項目了解多應用模式

路由重新定義

前面那個<code>v1.</code> <code>v2.</code> 格式不了解的看文檔

https://www.kancloud.cn/manual/thinkphp6_0/1037497

tp6從新安裝一個空白項目了解多應用模式

通路,這樣就完成了對api版本的控制。

tp6從新安裝一個空白項目了解多應用模式
tp6從新安裝一個空白項目了解多應用模式

接着我們來講一下,api開發的第二個知識點,二級域名路由通路api

意思就是由原來的

改成如下格式來進行通路

這種常見的操作,我們該怎麼實作呢?

首先,我們要把二級域名 <code>api.duo.com</code>解析到你的伺服器的ip位址上,我這裡本地測試就用phpstudy來模拟了

tp6從新安裝一個空白項目了解多應用模式

記得添加僞靜态

tp6從新安裝一個空白項目了解多應用模式

解析好後,我們打開項目<code>config/app.php</code>如下配置即可

tp6從新安裝一個空白項目了解多應用模式

通路測試,注意:這樣配置後原來的路由位址通路依然有效。

tp6從新安裝一個空白項目了解多應用模式
tp6從新安裝一個空白項目了解多應用模式