03.08 PHP開發需要用路由組件嗎?作為過來人分析給你聽聽

PHP 在WEB開發或者API後臺服務器接口開發時,簡單易用並且快捷,受到很多程序開發者的喜歡,PHP不比Java的規範約定那麼多,可以自由發揮,有時想怎麼用就怎麼用。

Java開發有很多的成熟的框架,像Spring、Spring MVC、Mybatis、Spring Boot、Struts等等,使用框架就要遵守框架的使用約定。

而PHP開發過程有很多的組件,可以自由的去搭配組件,沒有那麼強的約束,本文給大家講一講用PHP開發時是否考慮使用路由組件。

1. 首先來看下傳統的PHP開發中請求/返回的方式

傳統的PHP開發中請求/返回是基於文件系統的,也就是一個請求可以對應到一個php腳本去處理。

PHP開發需要用路由組件嗎?作為過來人分析給你聽聽

基於文件系統的請求返回

比如將PHP代碼部署在服務器中的/var/www-data/目錄下,那麼用戶請求/about.php時會查找/var/www-data/目錄下的about.php,找到並返回給用戶。

2. 再來看下路由是什麼及路由的作用

路由簡單來說就是所有的網絡請求匯聚到一個節點,再由這個節點進行請求的分發,這個節點就是一個路由節點。

PHP開發需要用路由組件嗎?作為過來人分析給你聽聽

路由的匯聚-分發模型

家裡用的路由器上網,也可以這麼理解

這種網絡硬件的模型同樣也可以使用在軟件開發中。

在WEB開發或者API後臺服務器接口開發中,可以使用路由的這種概念模型去進行請求的匯聚與分發。

PHP開發需要用路由組件嗎?作為過來人分析給你聽聽

WEB開發或API後臺開發中路由的匯聚分發作用

路由相當於MVC(Model - View - Controller)框架中的C角色(Controller)。

3. 使用路由的優勢劣勢是什麼?

路由的作用很明顯:匯聚請求,統一入口,統一分發請求,隱藏細節

使用路由的優點:

1.使用路由可以規範統一請求入口

數據的請求都匯聚到路由的入口文件(一般為index.php),然後通過一張路由配置表進行數據的分發處理。

2.程序整體結構清晰

路由負責匯聚分發請求,具體的業務處理是由具體的代碼文件處理,邏輯清晰,職責分明。

3.可以美化URL或定製URL

用戶訪問請求的URL地址可以提前設計好格式,然後配置在路由表,比如可以實現統一的不帶.php後綴結構的URL等。

使用路由的缺點:

1.失去了原有的靈活度

不使用路由時,可以使用基於文件系統,一個請求對應於一個文件去處理,簡單、好實現,現在為了使用路由,還要額外去維護一個路由表,每增加一個請求或刪除一個請求都需要去修改路由表。

2.學習使用成本

需要花一定的時間去尋找合適的路由組件,以及需要學會去使用它。

3.性能

增加了路由的匯聚、轉發之後對系統整體的性能會有一點點的影響,因為增加了原本沒有的路由查找匹配過程,但是對性能整體的影響並不大。

4. 那在開發中是否需要使用路由組件?

是否在項目中使用路由可以從:項目新舊

以及項目開發規模兩個維度來考慮下。

  1. 如果是老項目,那就不要考慮增加路由了,因為修改成本高了涉及到太多的URL修改,得不償失。
  2. 如果是一個新的項目,項目規模中等以上,有多人參與開發,可以考慮使用路由組件,統一規範,好管理開發。
  3. 如果是個人(或很少人一起)開發的新項目的話,一般規模也不會大到哪裡去,不太推薦使用路由,增加自己的開發成本、維護成本,不過喜歡嚐鮮的人也可以去使用,感受下使用路由組件帶來的好處。

本文是我做PHP開發過程中的一點經驗的分享,具體在PHP開發中使用什麼路由組件以及如何去使用路由組件,我們後續教程中會給大家講解。

本文為遠懷學堂原創,覺得有用,有價值就收藏、轉發吧,同時記得關注「遠懷學堂」,我們專注於「原創·精品」的IT技術教程,圖文 & 視頻。


分享到:


相關文章: