在thinkphp中,路由是指根據url, 分配到對應的處理程序的對應;其作用是簡化URL存取位址,並根據定義的路由類型做出正確的解析。簡單來說,路由就是一個路徑的解析,根據客戶端提交的路徑,將請求解析到對應的模組或控制器或方法上。
本教學操作環境:Windows7系統、thinkphp v5.1版、Dell G3電腦。
我們來研究ThinkPHP5的路由機制。
雖然說TP5的完全開發手冊上面講路由講的很清楚,但是我們還是在本文研究一下TP5的路由是怎麼一回事,畢竟看博客比看書要舒服一些嘛。
首先,提出三個問題:
1.Route(路由)是什麼?
路由(route)是指根據url, 分配到對應的處理程序的對應。
簡單來說,就是一個路徑的解析,根據客戶端提交的路徑,將請求解析到對應的模組/控制器/方法上。
官方文件裡面是這樣子定義的=>路由的作用是簡化URL存取位址,並根據定義的路由類型做出正確的解析。
手動解釋一下:平常我們按照習慣去訪問我們的ThinkPHP專案的時候,常規的url應該是這樣子寫的,(本地舉例)http:// localhost/專案名稱/public/index.php/模組名稱/控制器名稱/方法名稱
#一串url輸進去之後,就會覺得很絕望,(小聲吐槽)= >「我只是想測試一個小介面讓我打這麼長一串地址、地址太長記不住呀......」。這時候我們就可以用路由去簡化他的位址,並且在縮短位址的同時進行一些規則的定義。
2.為什麼要使用路由?
可能有人會脫口而出:為了簡化路徑呀。 當然,這是原因之一,但原因並沒有那麼簡單。
簡化路徑是一個比較大的原因,因為我當初就是覺得路徑太長然後跑過去把路由開起來了,但是後來在使用的過程中,發現Route的作用其實不限於簡化路徑。
我們可以開啟路由的強制使用,讓大家只能從我定義的路由進來,這樣就有一個好處,你在一些不想給用戶訪問的控制器寫了一些腳本,你開啟了完全路由強制使用的話,用戶是訪問不了這些腳本的,否則的話,用戶如果訪問了這些腳本,腳本有時修改數據庫的,那麼就比較危險了。
還有就是我們可以定義好從這個路徑進來是get操作還是post操作,就不會出現以前有種什麼情況,一個控制器的方法,你從get也可以訪問,post也可以訪問,就很雜亂,當然有人會說,get和post都能訪問也沒什麼大不了的吧,其實將這些方法之間區分開來,對於Restful API的思想的體現是比較有幫助的。
同理,http和https的規定我就不說了。
到了這裡,大家是不是覺得路由有些神奇了,原來它可以乾這麼多事情,那我們就來研究一下怎麼去使用它。
Route的使用
使用之前,我們先了解配置信息,還是我的這個叉叉項目,開啟config檔:
#有兩個要注意的地方,先第一個紅框裡面tp預設是給我們開啟了路由這個模式的,第二個紅框,tp預設是關閉掉強制使用路由這一項,什麼意思呢?就是我現在透過我們平常的地址模式存取也可以成功,透過路由存取也可以成功。
我平常做專案的時候為了安全起見是會將這一條改成true的,那麼我們來看一下效果
未開啟強制路由的時候:
依照常規的位址存取是可以成功的,好我們現在開啟強制使用路由:
同樣的位址報錯了,並且拋出了一個路由未找到的錯誤,因為我們未在路由檔案中定義這個路由,所以它拋出了錯誤,說明我們現在強制使用了路由。
那麼我們現在來定義一下它,先從最簡單的一種:
找到route檔
看一下效果:
我現在將get方法改成post方法然後我在用get方法去訪問看看會發生什麼:
深一點的我們還可以這樣子定義路由:
以上是thinkphp路由是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文討論了ThinkPHP的內置測試框架,突出了其關鍵功能(例如單元和集成測試),以及它如何通過早期的錯誤檢測和改進的代碼質量來增強應用程序可靠性。

本文討論了在無服務器體系結構中使用ThinkPHP的關鍵注意事項,專注於性能優化,無狀態設計和安全性。它突出了諸如成本效率和可擴展性之類的收益,但也應對挑戰

本文討論了在ThinkPHP微服務中實施服務發現和負載平衡,重點是設置,最佳實踐,集成方法和推薦工具。[159個字符]

ThinkPHP的IOC容器提供了高級功能,例如懶惰加載,上下文綁定和方法注入PHP App中有效依賴性管理的方法。Character計數:159

ThinkPHP具有輕巧的設計,MVC架構和可擴展性。它通過各種功能提高可擴展性,加快開發並提高安全性。

本文概述了使用ThinkPhp和RabbitMQ構建分佈式任務隊列系統,重點是安裝,配置,任務管理和可擴展性。關鍵問題包括確保高可用性,避免常見的陷阱,例如不當


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Dreamweaver CS6
視覺化網頁開發工具

WebStorm Mac版
好用的JavaScript開發工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

記事本++7.3.1
好用且免費的程式碼編輯器