以下為十個目前最流行的基于MVC設計模式的PHP框架。
成都創新互聯公司作為成都網站建設公司,專注網站建設、網站設計,有關成都企業網站建設方案、改版、費用等問題,行業涉及宣傳片制作等多個領域,已為上千家企業服務,得到了客戶的尊重與認可。
1. Yii
Yii是一個基于組件的高性能的PHP的框架,用于開發大規模Web應用。Yii采用嚴格的OOP編寫,并有著完善的庫引用以及全面的教程。從MVC,DAO/ActiveRecord,widgets,caching,等級式RBAC,Web服務,到主體化,I18N和L10N,Yii提供了今日Web 2.0應用開發所需要的幾乎一切功能。而且這個框架的價格也并不太高。事實上,Yii是最有效率的PHP框架之一。
2. CodeIgniter
CodeIgniter是一個應用開發框架——一個為建立PHP網站的人們所設計的工具包。其目標在于快速的開發項目:它提供了豐富的庫組以完成常見的任務,以及簡單的界面,富有條理性的架構來訪問這些庫。使用CodeIgniter開發可以往項目中注入更多的創造力,因為它節省了大量編碼的時間。
3. CakePHP
CakePHP是一個快速開發PHP的框架,其中使用了一些常見的設計模式如ActiveRecord,Association Data Mapping,Front Controller以及MVC。其主要目標在于提供一個令任意水平的PHP開發人員都能夠快速開發web應用的框架,而且這個快速的實現并沒有犧牲項目的彈性。
4. PHPDevShell
PHPDevShell是一個開源(GNU/LGPL)的快速應用開發框架,用于開發不含Javascript的純PHP。它有一個完整的GUI管理員后臺界面。其主要目標在于開發插件一類的基于管理的應用,其中速度、安全、穩定性及彈性是最優先考慮的重點。其設計形成了一個簡單的學習曲線,PHP開發者無需學習復雜的新術語。PHPDevShell的到來滿足了開發者們對于一個輕量級但是功能完善,可以無限制的進行配置的GUI的需求。
5. Akelos
Akelos PHP框架是一個基于MVC設計模式的web應用開發平臺?;诹己玫氖褂昧晳T,使用它可以完成如下任務:
◆方便的使用Ajax編寫views
◆通過控制器管理請求(request)及響應(response)
◆管理國際化的應用
◆使用簡單的協議與模型及數據庫通信
你的Akelos應用可以在大多數共享主機服務供應方上運行,因為Akelos對服務器唯一的要求就是支持PHP。因此,Akelos PHP框架是理想的用于發布單獨web應用的框架,因為它不需要非標準PHP配置便能運行。
6. Symfony
Symfony是一個用于開發PHP5項目的web應用框架。
這個框架的目的在于加速web應用的開發以及維護,減少重復的編碼工作。
Symfony的系統需求不高,可以被輕易的安裝在任意設置上:你只需一個Unix或Windows,搭配一個安裝了PHP5的網絡服務器即可。它與差不多所有的數據庫兼容。Symfony的價位不高,相比主機上的花銷要低得多。
對于PHP開發者而言,使用Symfony是一件很自然的事,其學習曲線只有短短一天。干凈的設計以及代碼可讀性將縮短開發時間。開發者可以將敏捷開發的原理(如DRY,KISS或XP等)應用在其中,將重點放在應用邏輯層面上,而不用花費大量時間在編寫沒完沒了的XML配置文件上。
Symfony旨在建立企業級的完善應用程序。也就是說,你擁有整個設置的控制權:從路徑結構到外部庫,幾乎一切都可以自定義。為了符合企業的開發條例,Symfony還綁定了一些額外的工具,以便于項目的測試,調試以及歸檔。
7. Prado
PRADO團隊由一些PRADO狂熱者組成,這些成員開發并推動PRADO框架以及相關項目的進行。
PRADO的靈感起源于Apache Tapestry。從04年開始,PRADO成為SourceForge上的開源項目之一。這個項目目前進展到了3.x版本。
8. Zend
作為PHP藝術及精神的延伸,Zend框架的基礎在于簡單,面向對象的最佳方法,方便企業的許可協議,以及經過反復測試的快速代碼庫。Zend框架旨在建造更安全,更可靠的Web 2.0應用及web服務,并不斷從前沿廠商(如Google,Amazon,Yahoo,Flickr,StrikeIron和ProgrammableWeb等)的API那里吸收精華。
9. ZooP
Zoop PHP框架,意為Zoop面向對象的PHP框架。
這是個穩定,可伸縮并可移植的框架。從誕生到現在的5年間,已經在不少產品開發中被使用。Zoop是一個快速,有效并干凈的框架。它的伸縮性很好,你可以只安裝你需要的功能。
對代碼并不很熟悉的開發者也可以通過Zoop快速的開發安全的web應用。熟練的開發者則可以更加將Zoop的彈性利用到極致。
Zoop建議將display,logic以及數據層(MVC)分開使用。
Zoop由很多組件和項目集合而成,其中包括smarty和prototype AJAX框架,PEAR模塊等。高效的核心組件提供了很多你原本需要自己編碼來實現的功能。Zoop內置的糾錯功能可以通過配置實現生產環境下的錯誤日志生成,這個錯誤日志提供了很多信息,可讀性很高,可以更輕易的尋找并排除錯誤。
Zoop的一個特別之處在于其GuiControls,在PHP中是一個相當革新的想法。它提供了很多form widgets與驗證完整的集合到一起,并形成了一個可以輕松打造個性化GuiControls的框架。
10. QPHP
QPHP,意為快速PHP,它是一個與ASP.NET類似的MVC框架?;旧纤沁@樣一個情況:
◆整合了Java和C#的美感
◆除去了在其他PHP框架中使用的Perl形式的意義含糊的語言
◆大量基于OOP的概念
為什么要使用PHP框架?
開發人員使用PHP框架的好處很多,其中之一是加快開發進程。在類似項目中重用代碼將為開發者節省大量的時間和精力??蚣転閳绦蟹爆嵉拇a任務提供預建模塊,因此,開發人員可以把時間花在實際應用的開發上,而不是每一個項目都重新構建基礎功能。
穩定是開發者使用框架的另一個重要原因。雖然簡單是PHP最大的優點,很多人也因為這一點喜歡使用這個腳本語言,但它同時也是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框架選擇:
◆The Zend Framework
Zend Framework在開發者社區中很有人氣,其重點是Web 2.0風格的應用程序。由于其大量的黨羽、廣泛的支持和積極的用戶群,Zend被稱為PHP Company。Zend即使不是當今最流行的PHP框架,也絕對是之一。它強大的功能能夠滿足企業級的需求,當然它的使用也需要具備廣泛的PHP知識。
◆CakePHP
從初學者到高級PHP開發者,CakePHP都是一個很棒的選擇。它與 Ruby on Rails設計的原則基本相同,主要集中在快速開發方面使其成為一個快速應用開發的優良框架。其迅速增長的支持系統、簡單和可擴展性使CakePHP成為當今最熱門的PHP框架。
◆Symfony
Symfony針對的更多的是高級開發者,也即創建企業級應用的開發者,尤其是Askeet和Yahoo! Bookmarks。這個開源的PHP框架功能全面,但它的主要缺點是速度慢于其他框架。
◆CodeIgniter
CodeIgniter以其易用性、性能和速度而聞名。不同于Symfony,CodeIgniter主要針對的是與人共享主機的開發者,或者為小型設備尋找PHP框架的開發者。它提供簡單的解決辦法,而且有一個擴展庫包括視頻教程、論壇、用戶指南和wiki。初學者應該考慮使用CodeIgniter 。
◆Seagull
Seagull是一個穩定的用于構建web、命令行和GUI應用的PHP框架。這是一個非常易于使用的框架,非常適合初學者到高級程序員。對于初學者,Seagull有一個范例應用庫,可以自己設定后滿足自身需求;對于高級開發者,Seagull提供了眾多選擇包括最佳實踐、標準、模塊化的代碼基,這些都可以幫助快速簡單地構建Web應用程序。Seagull有一個活躍的開發者社區,內有大量的支持性文檔和說明。
PHP是邏輯語言,數據庫是存放信息的。PHP通過邏輯去數據庫調用客戶想看的數據。
先找到config.php文件,如圖:
然后打開配置文件并在其中配置數據庫的信息,如下代碼:
?php
return?array(
//'配置項'='配置值'
'DB_TYPE'???????????????=??'mysql',?????//?數據庫類型
'DB_HOST'???????????????=??'127.0.0.1',?//?服務器地址
'DB_NAME'???????????????=??'tpshow',??????????//?數據庫名
'DB_USER'???????????????=??'root',??????//?用戶名
'DB_PWD'????????????????=??'root',??????????//?密碼
'DB_PORT'???????????????=??'3306',????????//?端口
'DB_PREFIX'?????????????=??'tp_'????//?數據庫表前綴
);
然后在應用的Home的Controller中,如下圖的文件
?php
namespace?Home\Controller;
use?Think\Controller;
class?IndexController?extends?Controller?{
public?function?index(){
$db?=?M("show");?//?實例化show對象
$data?=?$db-find();//讀取一條數據
dump($data);//打印數據
}
}
影響不大。因為http的請求,會受到網絡速度的限制。與此相比,程序內部實現造成的影響,可能是很微小的。目前流行的php框架有yii、ci等。用它們編寫一個簡單的程序,和不使用框架,運行速度幾乎沒有差別。但使用框架時也需注意一些問題。
一個網頁響應速度,和其網站架構、HTML的結構和比較耗時的操作關系較大。
其中網站架構涉及硬件設備和應用程序分布式布署的問題,對性能影響最為顯著。一些程序難以解決的性能瓶頸,要用架構設計去解決。比如數據庫讀寫分離。
優化HTML結構也是優化網站的課題之一。更為簡約的編碼,可以節約帶寬,也能加快瀏覽器渲染的速度。頁面字節大小,是前端設計的重要指標。異步加載和代碼壓縮,是減少網頁下載時間的重要手段。
程序比較耗時的操作,如數據庫查詢、圖片處理、壓縮文件等。其中數據庫的因素較為普遍。這里要提到一個框架的問題。yii框架自帶的數據庫模型非常強大,有了它我們基本上不用寫SQL語句。但是,它自己生成的SQL語句不一定是最佳的。為了保證網站性能,關鍵的查詢需要自己把握。而且比較復雜的抽象,也會降低性能。它的官方文檔中,也不建議在大型網站中使用模型。
綜上,框架的特性要選擇性地使用。使用前要仔細閱讀文檔。優化網站要考慮多種因素,而不是僅僅關心程序的實現。要杜絕對程序效率影響不大的"微優化"。
個人覺得構建一套框架,首先要明確一下目錄結構:
--配置(config)
--類庫(libs)
--后臺(可以不獨立)
--數據處理(c)
--業務邏輯(m)
--展現(v)
--index.php
框架成型,最重要包括:
1、數據庫的鏈接基類封裝(連接、增、刪、改、查等),及具體表(例用戶表、文章表)對基類的繼承實現;
2、業務邏輯文件的處理,可以每個功能對應一個文件,也可以利用oo思想,每個函數對應一個操作;
3、對于ajax調用的接口文件,可以考慮統一文件目錄處理;
4、基本數據校驗、分頁函數、url處理等函數 的封裝;
5、展現層實現方式多樣,可以考慮引用smarty模版引擎;
以上只是提供部分思路,多學習、多思考、多練習 堅持積累一段時間之后你就會有更多的收獲~~
網站名稱:php框架牽扯數據庫嗎 php與數據庫的關系
本文鏈接:http://vcdvsql.cn/article48/hepcep.html
成都網站建設公司_創新互聯,為您提供網站導航、手機網站建設、面包屑導航、網站維護、網站收錄、移動網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯