php成為世界上最流行的指令碼語言有許多原因:靈活性,易用性等等。但通常只用php或者其他語言編碼就會顯得單調、重複,這時候就需要乙個php框架來代替程式設計師完成那些重複不變的部分。本文通過回答what, when, why 以及 which這些問題,將對php框架進行全面解析。
php框架是什麼?
php框架提供了乙個用以構建web應用的基本框架,從而簡化了用php編寫web應用程式的流程。換言之,php框架有助於促進快速應用開發( rad ),不但節省開發時間、有助於建立更穩定的應用,而且減少了重複編碼的開發。通過確保適當的資料庫交換和在表現層編碼,框架還可以幫助初學者建立更穩定的應用服務。這可以讓你花更多的時間去建立實際的web應用程式,而不是花時間寫重複的**。
通常認為php框架的作用相當於模型-檢視-控制器(model view controller)。mvc是種程式設計的架構模式,將業務邏輯從ui中分離出來,允許乙個乙個單獨修改(也稱為關注點分離)。在mvc中,model指資料,view指表現層,controller則指應用程式或業務邏輯。基本上, mvc打破了乙個應用的開發程序,這樣各元件就可以不受影響地各自工作。從本質上講,這使得用php編碼更快更簡單。
為什麼要使用php框架?
開發人員使用php框架的好處很多,其中之一是加快開發程序。在類似專案中重用**將為開發者節省大量的時間和精力。框架為執行繁瑣的**任務提供預建模組,因此,開發人員可以把時間花在實際應用的開發上,而不是每乙個專案都重新構建基礎功能。
最後,php框架的使用是非常廣泛的,而且有許多不同的框架可供選擇。許多開發者會選擇知名的框架,是因為它的知名度、其開發團隊的巨大支援,而且他們可以通過論壇/社群來與其他使用相同框架的開發者交流,當然你也可以開發自己的框架。這裡提醒一下,首先應該檢查你的專案來決定是否應該使用乙個框架。你應該問自己:它會節省你和其他使用者的時間和精力麼?應用程式的效能會更好麼?是否會提高穩定性?如果這些問題你的回答都是是,那麼你就該為你的專案選擇乙個合適的框架了。
何時使用php框架?
這是乙個無論有經驗的開發者還是初級開發者都共有的問題,而且這個問題也確實沒有直接的回答。對於許多初學者來說,乙個框架將提供很多簡便和穩定,因此應該盡可能地使用php框架。這將有助於減少或消除不良編碼,加快開發程序。
另一方面,許多有經驗的php程式設計師將框架視為不知道如何寫出好的、乾淨的**的低階程式設計師的工具。姑且不論這一點的真假,起碼毋庸置疑的是php框架是乙個可以用來節省時間並強化自己編碼的工具。
當工作的專案時間緊迫時,使用php框架就有很多好處,可以大大加快編碼程序,因此所以如果你時間緊迫,使用php框架就是很好的選擇。另乙個例子是,當你所做的專案有大量**時,也應當考慮使用php框架,因為這將有助於減少工作的繁瑣度。
尋找乙個什麼樣的php框架?
有許多可供開發者選擇的php框架,甚至還可以建立自己的框架,儘管只建議php專家級這樣做。當尋找你最需要的php框架時,重要的是要搞清楚誰將自始至終使用或修改你的應用,如果是有很多人做這件事情,那麼最好使用流行的php框架,這樣大部分開發者都不會陌生。另一方面,如果你想構建web應用程式為你個人使用,那就最好選擇令你滿意的php框架,而不在乎它在開發者社群中是否流行。
選擇php框架的參考因素有很多,包括:容易使用、快速開發、效能、開發者中的流行程度、強大的功能,技術支援、論壇等。當你第一次選擇php框架時,為了找到乙個適合你需求的最佳選擇,建議多嘗試幾個。每個框架都有所不同,並有不同的長處和短處。例如zend框架由於v3和多樣的功能、並且有乙個廣泛的支援系統,因而它流行了這麼久。相反, cakephp是另乙個晚於zend框架的php框架,相應的支援系統也比較少,但更方便和易於使用。
正如你所看到的,每種型別的php框架都有自己的優點,因此,最好反覆試驗以找出其中哪個最適合你的需要。另乙個選擇php框架的有效方式是諮詢你的同事,看看開發社群裡選擇哪個。那些真正使用過具體框架的能夠明確地告訴你它的易用性、功能、支援可用性、社群內的情況,當然可能還有不足。
使用php框架最常見的錯誤
任何型別的程式設計中都可能有錯誤,但是php框架有助於顯著限制這些錯誤。重複編碼似乎加劇了這種錯誤,而框架則解決了這一問題。儘管如此,在使用任何php框架時仍要注意。例如,除非你是一位php程式設計的專家,否則你應該總是選擇使用流行的框架,有大量的支援和積極的使用者群。很多框架的支援很少甚至沒有,它們可能是被php知識有限的個別開發者所建立的。這些型別的框架,可能會使你的應用程式無法正常執行,更糟糕的是,可能會給你的**帶來災難性的安全問題。
另一些常見的錯誤是,不能確保你的資料庫和web伺服器符合特定框架。例如,seagull php framework建議如下配置:
* php :最低是php 4.3.0,php 5.1.1或者更高版本更佳,避免任何5.0.x版本中的東西;
* mysql的:支援mysql的4.0.x,4.1.x和5.0.x,也可以使用3.23.x;
* apache:seagull支援1.3.x以及apache的2.x系列。
如果你沒有滿足這些要求,您將無法在你所選的框架中看到最好的效能。即使你是php的專家,你也應該經常複習框架的說明文件,確認相容性後再嘗試。
類似於前面提到的常見的錯誤,不遵循建議的安裝程序的話,你的php框架也可以給你帶來一些令人頭疼的問題。以seagull 為例,在seagull的wiki有乙個詳細的框架安裝過程,其中有幾個關鍵步驟,很容易被不小心或不知情的開發者忽視。因此你要花費時間來安裝框架並遵循安裝說明。
最好的php框架有哪些?
過去的幾年中,因為php已發展成為大多數開發者選擇的指令碼語言,因而也產生了大量的php框架。什麼是最好的php框架,仁者見仁智者見智,因為並非每乙個框架都能夠適合每乙個人。以下是5個最佳和最流行的php框架選擇:
zend framework在開發者社群中很有人氣,其重點是web 2.0風格的應用程式。由於其大量的黨羽、廣泛的支援和積極的使用者群,zend被稱為php company。zend即使不是當今最流行的php框架,也絕對是之一。它強大的功能能夠滿足企業級的需求,當然它的使用也需要具備廣泛的php知識。
從初學者到高階php開發者,cakephp都是乙個很棒的選擇。它與 ruby on rails設計的原則基本相同,主要集中在快速開發方面使其成為乙個快速應用開發的優良框架。其迅速增長的支援系統、簡單和可擴充套件性使cakephp成為當今最熱門的php框架。
symfony針對的更多的是高階開發者,也即建立企業級應用的開發者,尤其是askeet和yahoo! bookmarks。這個開源的php框架功能全面,但它的主要缺點是速度慢於其他框架。
seagull是乙個穩定的用於構建web、命令列和gui應用的php框架。這是乙個非常易於使用的框架,非常適合初學者到高階程式設計師。對於初學者,seagull有乙個範例應用庫,可以自己設定後滿足自身需求;對於高階開發者,seagull提供了眾多選擇包括最佳實踐、標準、模組化的**基,這些都可以幫助快速簡單地構建web應用程式。seagull有乙個活躍的開發者社群,內有大量的支援性文件和說明。
概括php框架為各種技術等級的開發者減少了重複編碼的需求、加快了開發程序,並在建立web應用時確保正確的編碼。這不僅加快了富應用開發的程序,同時也通過減少**的安全漏洞而增強了php的安全性。
雖然一些專家級php程式設計師覺得沒有必要使用框架開發web應用程式,但php框架仍然可以是快速開發的優秀解決方案,比如在工期很緊的情況下。從初級到中級開發者,框架可以提高php的學習,同時促進良好的**編寫和減少壞**。
今天有很多的php框架可用,因此開發者肯定能從中找到乙個適合自己的框架:功能、支援、速度、可擴充套件性等。開發者廣泛使用的一些頂尖的php開發框架包括: zend framework,cakephp,symfony,codeigniter以及seagull。
不可不知的健康知識
健康最重要 晚上9 11點為免疫系統 淋巴 排毒時間,此段時間應安靜或聽 晚間11 凌晨1點,肝的排毒,需在熟睡中進行。凌晨1 3點,膽的排毒,亦同。凌晨3 5點,肺的排毒。此即為何咳嗽的人在這段時間咳得最劇烈,因排毒動作已走到肺 不應用止咳藥,以免抑制廢積物的排除。凌晨5 7點,大腸的排毒,應上廁...
不可不知的sudo命令
在linux運維工作中,每個人都應該各司其職。比如說運維經理掌握了root使用者,普通的運維人員一般人手乙個普通登入使用者。root使用者不簡單啊,建立使用者,日常重啟伺服器工作,以及一些其他的日常工作都是root使用者來完成的!很厲害吧!雖然運維經理是乙個super man,但是人家畢竟是經理嘛!...
不可不知的sudo命令
在linux運維工作中,每個人都應該各司其職。比如說運維經理掌握了root使用者,普通的運維人員一般人手乙個普通登入使用者。root使用者不簡單啊,建立使用者,日常重啟伺服器工作,以及一些其他的日常工作都是root使用者來完成的!很厲害吧!雖然運維經理是乙個super man,但是人家畢竟是經理嘛!...