PHP框架的原理html
說到PHP框架,可能不少PHP新手會感到有些膽怯。其實,PHP框架也不是那麼深不可測的,框架就是別人使用PHP基礎只是爲你寫好了的東西,只是封裝在一塊兒;這就比如咱們使用PHP的函數,函數都是已近寫好了的,咱們只要按照函數使用的規則,好比,爲函數傳遞參數的個數、類型以及函數返回的值類型等。理解了PHP函數的這些使用規則,咱們就能夠大膽、放心的去使用了。一樣道理,PHP框架也有本身的規則,好比項目文件夾的部署、控制器類的命名規則以及數據表的命名規則等。瞭解了PHP框架的使用規則咱們就能去使用PHP框架提供的所有功能了。程序員
PHP框架並非那麼遙不可及,每位PHP程序員都應該加入到PHP框架的學習和使用中來,畢竟一我的的精力是有限的,如何你每一個項目都所有由本身開發的話,那麼你將浪費許多時間用在作相同的事情上。比方說,幾乎每一個項目都有數據的驗證,那麼你要爲每一個項目都要編寫數據驗證的PHP代碼,而若是你使用PHP框架的話,這些都是封裝了能夠直接拿來使用的。數據庫
PHP框架也是使用PHP的基本知識來寫的,沒有必要看到框架二字就退縮了。對PHP基礎知識很是熟悉的話,學習PHP框架是件輕鬆而快樂的事情。框架的使用會給你的項目節省50%左右的項目週期時間。安全
PHP框架的優勢服務器
一、PHP框架使代碼更安全。通常PHP框架都採用單入口文件的模式,咱們只要在入口文件進行驗證即達到了全部文件驗證的目的。架構
二、PHP框架縮短了項目開發週期,這多是最大的優勢了。框架
三、使用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學習這個東西,主要仍是爲了能找一份高薪順手的工做。若是,學了半天,結果卻沒有人用這個框架在項目中。那是至關悲催的。
本文來自愛程序網!