PHP 在WEB開發或者API後臺服務器接口開發時,簡單易用並且快捷,受到很多程序開發者的喜歡,PHP不比Java的規範約定那麼多,可以自由發揮,有時想怎麼用就怎麼用。
Java開發有很多的成熟的框架,像Spring、Spring MVC、Mybatis、Spring Boot、Struts等等,使用框架就要遵守框架的使用約定。
而PHP開發過程有很多的組件,可以自由的去搭配組件,沒有那麼強的約束,本文給大家講一講用PHP開發時是否考慮使用路由組件。
1. 首先來看下傳統的PHP開發中請求/返回的方式
傳統的PHP開發中請求/返回是基於文件系統的,也就是一個請求可以對應到一個php腳本去處理。
比如將PHP代碼部署在服務器中的/var/www-data/目錄下,那麼用戶請求/about.php時會查找/var/www-data/目錄下的about.php,找到並返回給用戶。
2. 再來看下路由是什麼及路由的作用
路由簡單來說就是所有的網絡請求匯聚到一個節點,再由這個節點進行請求的分發,這個節點就是一個路由節點。
家裡用的路由器上網,也可以這麼理解
這種網絡硬件的模型同樣也可以使用在軟件開發中。
在WEB開發或者API後臺服務器接口開發中,可以使用路由的這種概念模型去進行請求的匯聚與分發。
路由相當於MVC(Model - View - Controller)框架中的C角色(Controller)。
3. 使用路由的優勢劣勢是什麼?
路由的作用很明顯:匯聚請求,統一入口,統一分發請求,隱藏細節。
使用路由的優點:
1.使用路由可以規範統一請求入口
數據的請求都匯聚到路由的入口文件(一般為index.php),然後通過一張路由配置表進行數據的分發處理。
2.程序整體結構清晰
路由負責匯聚分發請求,具體的業務處理是由具體的代碼文件處理,邏輯清晰,職責分明。
3.可以美化URL或定製URL
用戶訪問請求的URL地址可以提前設計好格式,然後配置在路由表,比如可以實現統一的不帶.php後綴結構的URL等。
使用路由的缺點:
1.失去了原有的靈活度
不使用路由時,可以使用基於文件系統,一個請求對應於一個文件去處理,簡單、好實現,現在為了使用路由,還要額外去維護一個路由表,每增加一個請求或刪除一個請求都需要去修改路由表。
2.學習使用成本
需要花一定的時間去尋找合適的路由組件,以及需要學會去使用它。
3.性能
增加了路由的匯聚、轉發之後對系統整體的性能會有一點點的影響,因為增加了原本沒有的路由查找匹配過程,但是對性能整體的影響並不大。
4. 那在開發中是否需要使用路由組件?
是否在項目中使用路由可以從:項目新舊 以及項目開發規模兩個維度來考慮下。
- 如果是老項目,那就不要考慮增加路由了,因為修改成本高了涉及到太多的URL修改,得不償失。
- 如果是一個新的項目,項目規模中等以上,有多人參與開發,可以考慮使用路由組件,統一規範,好管理開發。
- 如果是個人(或很少人一起)開發的新項目的話,一般規模也不會大到哪裡去,不太推薦使用路由,增加自己的開發成本、維護成本,不過喜歡嚐鮮的人也可以去使用,感受下使用路由組件帶來的好處。
本文是我做PHP開發過程中的一點經驗的分享,具體在PHP開發中使用什麼路由組件以及如何去使用路由組件,我們後續教程中會給大家講解。
本文為遠懷學堂原創,覺得有用,有價值就收藏、轉發吧,同時記得關注「遠懷學堂」,我們專注於「原創·精品」的IT技術教程,圖文 & 視頻。
閱讀更多 遠懷學堂 的文章