PHP框架的基本原理以及選擇標準
PHP框架的原理
說到PHP框架,可能很多PHP新手會感到有些膽怯。其實,PHP框架也不是那么深不可測的,框架就是別人使用PHP基礎只是為你寫好了的東西,只是封裝在一起;這就好比我們使用PHP的函數,函數都是已近寫好了的,我們只要按照函數使用的規則,比如,為函數傳遞參數的個數、類型以及函數返回的值類型等。理解了PHP函數的這些使用規則,我們就可以大膽、放心的去使用了。同樣道理,PHP框架也有自己的規則,比如項目文件夾的部署、控制器類的命名規則以及數據表的命名規則等。了解了PHP框架的使用規則我們就能去使用PHP框架提供的全部功能了。
PHP框架并不是那么高不可攀,每位PHP程序員都應該加入到PHP框架的學習和使用中來,畢竟一個人的精力是有限的,如何你每個項目都全部由自己開發的話,那么你將浪費許多時間用在做相同的事情上。比方說,幾乎每個項目都有數據的驗證,那么你要為每個項目都要編寫數據驗證的PHP代碼,而如果你使用PHP框架的話,這些都是封裝了可以直接拿來使用的。
PHP框架也是使用PHP的基本知識來寫的,沒有必要看到框架二字就退縮了。對PHP基礎知識非常熟悉的話,學習PHP框架是件輕松而快樂的事情??蚣艿氖褂脮o你的項目節省50%左右的項目周期時間。
PHP框架的優點
1、PHP框架使代碼更安全。一般PHP框架都采用單入口文件的模式,我們只要在入口文件進行驗證即達到了所有文件驗證的目的。
2、PHP框架縮短了項目開發周期,這可能是最大的優點了。
3、使用PHP框架架構項目思路清晰、結構明顯。
PHP框架選擇標準
在如此多的PHP MVC框架中,怎樣去選擇一款各方面都不錯的框架學習并在項目中使用它?這是每一個PHPer都會面臨的問題。比如當前比較流行的框架有:ZendFrameWork、ThinkPHP(國產)、CodeIgniter、YII等。每個人心目中的好壞標準不一樣,再加上有的人習慣了某框架,想讓他再接受其優秀的框架也是比較難的。所以,我們應該怎樣去判斷一款框架是否屬于自己,變得非常的突出。現在我給出幾個標準:
- 性能
所謂的性能指的是IO、CPU占用、PHP解析時間等幾個指標。當前的服務器最突出的問題是CPU已經非常快了,內存已經夠大夠便宜了,唯獨硬盤IO不夠高。這就像一個一個智商150與一個智商80的人做1+1一樣,根本體現不出智商的優越性。 - 全棧式
雖然我個人不太贊成PHP框架過度全棧式。但是,如果能把全棧式做到優雅簡潔,我也是非常興奮的。什么是全棧式?就是一款框架包含了WEB開發中所有的東西。比如:上傳、分頁、導入導出、郵件、日志、錯誤、二維碼、RSS、RBAC等。這樣的話,才能真正解決掉我們去自己實現的麻煩,節省我們的時間。也提高了代碼的安全性移植性。 - 學習難度是否陡峭
畢竟我們要運用到實際的項目中。以后陸續還會添加更多的人進入項目開發中。如果,學習難度過于陡峭,勢必會影響項目的進度和后期維護的成本。目前,我用過的框架中ThinkPHP做得還不錯,文檔還比較完整易懂。換作正在用的YII框架,簡直是頭痛。提供的文檔實在是過于簡單,示例不夠豐富。而且,代碼不夠優雅。在某些設計上,過于面向對象,導致在PHP這種語言中操作起來不是特別順手。 - 框架社會是否活躍
一個社區活躍與否,直接關系到這個框架的未來的命運。誰也不希望今天還牛逼的框架,就因為沒有與時俱進,最終淹沒在歷史的長河中。自己又得花時間掌握新框架。比如:前幾天MongoDB還是比較火的時候,當時幾乎沒有框架在DB層,即ORM實現這個數據庫的接口。而項目中可能會考慮使用MongoDB。當時幾個比較知名的且速度比較過得去的框架都沒有支持。結果,還是咱們國產的ThinkPHP支持了。雖然,BUG可能有點多。至少,某種程度說明了一個活躍的社區是非常有必要的。 - 框架使用的群體大小
一款框架再牛逼,如果沒有人使用。你學了也只能在自己的一畝三分地有所建樹。出了這個圈,效果就不明顯了。PHPer學習這個東西,主要還是為了能找一份高薪順手的工作。如果,學了半天,結果卻沒有人用這個框架在項目中。那是相當悲催的。
本文來自愛程序網!