PHP框架的原理
說到PHP框架,可能很多PHP新手會感到有些膽怯。其實,PHP框架也不是那麼深不可測的,框架就是別人使用PHP基礎只是為你寫好了的東西,只是封裝在一起;這就好比我們使用PHP的函式,函式都是已近寫好了的,我們只要按照函式使用的規則,比如,為函式傳遞引數的個數、型別以及函式返回的值型別等。理解了PHP函式的這些使用規則,我們就可以大膽、放心的去使用了。同樣道理,PHP框架也有自己的規則,比如專案資料夾的部署、控制器類的命名規則以及資料表的命名規則等。瞭解了PHP框架的使用規則我們就能去使用PHP框架提供的全部功能了。
PHP框架並不是那麼高不可攀,每位PHP程式設計師都應該加入到PHP框架的學習和使用中來,畢竟一個人的精力是有限的,如何你每個專案都全部由自己開發的話,那麼你將浪費許多時間用在做相同的事情上。比方說,幾乎每個專案都有資料的驗證,那麼你要為每個專案都要編寫資料驗證的PHP程式碼,而如果你使用PHP框架的話,這些都是封裝了可以直接拿來使用的。
PHP框架也是使用PHP的基本知識來寫的,沒有必要看到框架二字就退縮了。對PHP基礎知識非常熟悉的話,學習PHP框架是件輕鬆而快樂的事情。框架的使用會給你的專案節省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學習這個東西,主要還是為了能找一份高薪順手的工作。如果,學了半天,結果卻沒有人用這個框架在專案中。那是相當悲催的。
- 效能
PHP框架的基本原理以及選擇標準
相關文章
- PHPIDE選擇標準PHPIDE
- 選擇低程式碼應用程式開發框架的5個關鍵標準框架
- 怎樣選擇適合自己php框架PHP框架
- 程式設計師選擇公司的8個標準程式設計師
- UX/UI設計工具的選擇:對設計師的13條重要選擇標準UXUI
- 選擇站群伺服器的有哪些標準呢?伺服器
- CRM系統選擇的五個標準及推薦
- Modern PHP(二)標準PHP
- 2017 非標準 PHP 框架效能測試比較PHP框架
- 怎樣選擇PHP的版本PHP
- 如何進行框架的選擇框架
- 兩個重點是中小企業選擇CRM系統的標準
- PHP 標準庫 SplStack 棧PHP
- 常用的排序演算法(五)--選擇排序以及最佳化(PHP實現)排序演算法PHP
- Signal:更多前端框架的選擇前端框架
- 我們是如何選擇框架的?框架
- 框架選擇的7個原則框架
- 手把手擼套框架-ORM框架的選擇框架ORM
- 介面測試框架選擇框架
- 前端框架的選擇——前端各大框架特點的分析前端框架
- 深入瞭解標準流以及脫標元素的特點
- 是否過於“強勢或自以為是”應該作為選擇框架或架構產品的參考標準!框架架構
- 002---選擇器(標籤選擇器、類選擇器、id選擇器、偽類選擇器、萬用字元選擇器)字元
- 雲端計算標準化以及互操作性方面的標準
- 選擇簡訊傳送平臺的4個標準,你還知道幾個?
- APP開發公司四大選擇標準,讓你避免踩坑APP
- React 的幾種條件渲染以及選擇React
- 開發人員選擇 PHP 的原因PHP
- Car2go 的前端框架選擇Go前端框架
- MVVM框架jsViews和Knockout的選擇MVVM框架JSView
- 關於社保行業框架的選擇。。。行業框架
- 管理CRM軟體選購的標準
- css標籤選擇器的使用注意CSS
- [Python人工智慧] 六.神經網路的評價指標、特徵標準化和特徵選擇Python人工智慧神經網路指標特徵
- 為什麼選擇Guice框架GUI框架
- 如何進行機器學習框架選擇機器學習框架
- 如何選擇一個Flex框架Flex框架
- 微軟回應文件標準不相容 稱客戶可多種格式選擇微軟