下面thinkphp框架教程欄目將給大家講解分析tp6的多應(yīng)用與tp5的區(qū)別,希望對需要的朋友有所幫助!
ThinkPHP6新增‘’多應(yīng)用‘’與ThinkPHP5有啥區(qū)別?
首先看下ThinkPHP6官方手冊關(guān)于多應(yīng)用的目錄結(jié)構(gòu):
├─app?應(yīng)用目錄 │??├─index??????????????主應(yīng)用 │??│??├─controller??????控制器目錄 │??│??├─model???????????模型目錄 │??│??├─view????????????視圖目錄 │??│??├─config??????????配置目錄(優(yōu)先) │??│??└─?...????????????更多類庫目錄 │??├─admin??????????????后臺應(yīng)用 │??│??├─controller??????控制器目錄 │??│??├─model???????????模型目錄 │??│??├─view????????????視圖目錄 │??│??├─config??????????配置目錄(優(yōu)先) │??│??└─?...????????????更多類庫目錄 │ ├─public????????????????WEB目錄(對外訪問目錄) │??├─admin.php??????????后臺入口文件 │??├─index.php??????????入口文件 │??├─router.php?????????快速測試文件 │??└─.htaccess??????????用于apache的重寫 │ ├─config????????????????應(yīng)用配置目錄 │??├─index??????????????index應(yīng)用配置 │??└─admin??????????????admin應(yīng)用配置 │ ├─view????????????????視圖目錄 │??├─index??????????????index應(yīng)用視圖目錄 │??└─admin??????????????admin應(yīng)用視圖目錄 │ ├─route?????????????????路由定義目錄 │??├─index??????????????index應(yīng)用路由定義目錄 │??└─admin??????????????admin應(yīng)用路由定義目錄 │ ├─runtime???????????????運(yùn)行時(shí)目錄 │??├─index??????????????index應(yīng)用運(yùn)行時(shí)目錄 │??└─admin??????????????admin應(yīng)用運(yùn)行時(shí)目錄
這樣一看發(fā)ThinkPHP6的多應(yīng)用也不過如此,一個前臺index應(yīng)用,一個后臺admin應(yīng)用,這就叫多應(yīng)用了。想當(dāng)年,我們用ThinkPHP5那也開發(fā)過前臺應(yīng)用index、后臺應(yīng)用admin,這又啥區(qū)別呢?
區(qū)別1:就是必須通過composer下載后才能使用。
ThinkPHP6框架默認(rèn)下載后是單應(yīng)用,要想使用多應(yīng)用就要下載:
composer?require?topthink/think-multi-app
區(qū)別2:路由定義必須在當(dāng)前的應(yīng)用下。
我們知道ThinkPHP5的時(shí)候,我們可以在根目錄下的路由文件定義,但是ThinkPHP6后必須在應(yīng)用目錄下定義路由。
區(qū)別3:ThinkPHP6支持應(yīng)用入口。
我們在ThinkPHP6中可以對某個應(yīng)用單獨(dú)設(shè)置入口文件,比如admin應(yīng)用我可以設(shè)置admin.php入口文件來訪問。
區(qū)別4:域名綁定應(yīng)用。
舉個例子ThinkPHP5的時(shí)候我們定義www.a.com/index/index…的路由后,可以實(shí)現(xiàn)這樣的效果www.a.com/company.htm…
但是ThinkPHP6你會發(fā)現(xiàn)怎么設(shè)置路由,index應(yīng)用都去不掉,始終是www.a.com/index/compa…,這個可咋整?
那么解決方案就可以用到了域名綁定應(yīng)用了,我們在config/app.php 配置文件中定義域名和應(yīng)用的綁定,如下方式:
'domain_bind'?=>?[ 'www.a.com'?=>?'index',?//?域名綁定到www應(yīng)用 'admin.a.com'?=>?'admin',?//?admin綁定到后臺應(yīng)用 ],
這樣我們就可以用www.a.com/company.htm…來訪問了。
最后:
總的來說,ThinkPHP6的多應(yīng)用相對比ThinkPHP5還是有比較大的進(jìn)步,雖然在第一次使用麻煩一點(diǎn)需要composer下載,但是這不影響我們對ThinkPHP6多應(yīng)用的青睞。
推薦:《最新的10個thinkphp視頻教程》