php開發自己的框架
Ⅰ php常用框架(php常用框架有哪些)
php開發類似大眾點評用什麼框架用的是Phalcon框架。
Phalcon是基於C語言的擁有高性能和低功耗等特點的開源PHP開發框架。它是一個全棧的PHP框架,為開發者提供了網站及應用開發所需的大量高級工具。Phalcon中的所有函數都以PHP類的方式呈現,開發者既無需學習和使用C語言,又無需擔心性能的問題。性能優越是Phalcon受歡迎的最主要的因素。
PHP中的各種框架CodeIgniter、CakePHP、ZendFramework、Symfony這幾個是國外的,你可以參考下
CodeIgniter
優點:
1.配置簡單,全部的配置使用PHP腳本來配置,執行效率高;具有基本的路由功能,能夠進行一定程度的路由;具有初步的Layout功能,能夠製作一定程度的界面外觀;資料庫層封裝的不錯,具有基本的MVC功能
2.快速簡潔,代碼不多,執行性能高,框架簡單,容易上手,學習成本低,文檔詳細;自帶了很多簡單好用的library,框架適合小型應用
缺點:
1.把Model層簡單的理解為資料庫操作
2.框架略顯簡單,只能夠滿足小型應用,略微不太能夠滿足中型應用需要
評價:
總體來說,拿CodeIgniter來完成簡單快速的應用還是值得,同時能夠構造一定程度的layout,便於模板的復用,數據操作層來說封裝的不錯,並且CodeIgniter沒有使用很多太復雜的設計模式,執行性能和代碼可讀性上都不錯。至於附加的library也還不錯,簡潔高效。
CakePHP
優點:
1.CakePHP是最類似於RoR的框架,包括設計方式,資料庫操作的ActiveRecord方式;設計層面很優雅,沒有自帶多餘的library,所有的功能都是純粹的框架,執行效率還不錯;資料庫層的hasOne,hasMany功能很強大,對於復雜業務處理比較合適;路由功能,配置功能還不錯;自動構建腳手架(scaffold)很強大;適合中型應用;基本實現過了MVC每一層;具有自動操作命令行腳本功能;
2.文檔比較全,在國內推廣的比較成功,大部分都知道CakePHP,學習成本中等
缺點:
1.CakePHP非常嚴重的問題是把Model理解為資料庫層操作,嚴重影響了除了資料庫之外的操作能力
2.CakePHP的cache功能略顯薄弱,配置功能稍嫌弱;CakePHP不適合大型應用,只適合中型應用,小型應用來說略微的學習成本高了點
評價:
總體來說CakePHP框架代表了PHP框架很重要的一個時代和代表,並且目前發揮著很重要的作用,不少自己寫的框架都模仿了CakePHP的方式,是個里程碑式的產品;CakePHP透露著RoR的敏捷開發方式和把資料庫操作認為是唯一Model的設計思想,作為開發快速應用和原型是絕好的工具;同樣,用來做Web2.0網站的開發框架,也是值得選擇的。
【ZendFramework】
優點:
1.官方出品,自帶了非常多的library,框架本身使用了很多設計模式來編寫,架構上很優雅,執行效率中等;MVC設計中,比較簡潔,具有路由功能,配置文件比較強大(能夠處理XML和phpINI),各種library很強大,是所有PHP框架中各種功能最全面的,包括它不僅是一個框架,更是一個大類庫(取代PEAR),這是它的主要特色;能夠直觀的支持除資料庫操作之外的Model層(比CodeIgniter和CakePHP強),並且能夠很輕易的使用Loader功能載入其他新增加的Class;Cache功能很強大,從前端Cache到後端Cache都支持,後端Cache支持Memcache、APC、SQLite、文件等等方式;資料庫操作功能很強大,支持各種驅動(適配器)
2.文檔很全,在國內社區很成熟,並且目前不少Web2.0網站在使用,學習成本中等
缺點:
1.MVC功能完成比較弱,View層簡單實現(跟沒實現一樣),無法很強大的控制前端頁面
2.沒有自動化腳本,創建一個應用,包括入口文件,全部必須自己手工構建,入門成本高
3.ZendFramework作為一個中型應用框架問題不大,也能夠勉強作為大型應用的框架,但是作為一個很成熟的大型PHP框架來說,還需要一些努力
評價:
作為官方出品的框架,ZendFramework的野心是可以預見的,想把其他框架擠走,同時封裝很多強大的類庫,能夠提供一站式的框架服務,並且他們的開發團隊很強大,完全足夠有能力開發很強大的產品出來,所以基本可以確定的是ZendFramework前途無量,如果花費更多的時間去完善框架。同樣的,ZendFramework架構本身也是比較優雅的,說明Zend官方是有很多高手的,設計理念上比較先進,雖然有一些功能實現的不夠完善,比如View層,自動化腳本等等,這些都有賴於未來的升級。總體來說ZendFramework是最值得期待的框架,當然,你目前要投入你的項目中使用也是完全沒問題的。
【Symfony】
優點:
1.Symfony是我了解的PHP框架中功能最強大的,而且我使用時間比較長,但是很多功能還是沒有挖掘出來;它完整實現了MVC三層,封裝了所有東西,包括$_POST,$_GET數據,異常處理,調試功能,數據檢測;包含強大的緩存功能,自動載入Class(這個功能很爽),強大的i18n國家化支持;具有很強大的view層操作,能夠零碎的包含單個多個文件;非常強大的配置功能,使用yml配置能夠控制所有框架和程序運行行為,強大到讓人無語;能夠很隨意的定義各種自己的class,並且symfony能夠自動載入(autoload)這些class,能夠在程序中隨意調用;包含強大的多層級項目和應用管理:Project--Application--Mole--Action,能夠滿足一個項目下多個應用的需要,並且每層可以定義自己的類庫,配置文件,layout;非常強大的命令行操作功能,包括建立項目、建立應用、建立模塊、刷新緩存等等;
2.Symfony絕對是開發大型復雜項目的首選,因為使用了Symfony,將大大節約開發成本,並且多人協作的時候,不會出現問題,在Project級別定義好基礎Class以後,任何模塊都能夠重用,大大復用代碼
缺點:
1.資料庫操作model採用了重量級的propel和creole,不過在我測試的版本中已經把他們移到了addon里,可用可不用
2.緩存功能無法控制,每次開發調試總是緩存,需要執行symfonycc,symfonyrc來清除和重建緩存;
3.效率不是很高,特別是解析模板和讀取配置文件的過程,花費時間不少;
4.學習成本很高,並且國內沒有成熟的社區和文檔,連中文手冊都沒有,相應的要掌握所有功能,需要花費比較多的時間
評價:
Symfony絕對是企業級的框架,唯一能夠貌似能夠跟Java領域哪些強悍框架抗衡的東西;強悍的東西,自然學習復雜,但是相應的對項目開發也比較有幫助,自然是推薦復雜的項目使用Symfony來處理,覺得是值得,後期的維護成本比較低,復用性很強。相應的如果使用Symfony的應該都是比較復雜的互聯網項目,那麼相應的就要考慮關於資料庫分布的問題,那麼就需要拋棄Symfony自帶的資料庫操作層,需要自己定義,當然了,Symfony支持隨意的構造model層。
【總評】
以上數款框架,各有特色,而且都是開源項目,不過框架針對的項目不一樣,一般來說CodeIngiter比較適合小型項目,CakePHP和ZendFramework比較適合中型項目,Symfony比較適合大型重量級項目,在項目選型的時候,要充分考慮框架的可以定製性、擴展性,因為每個項目都無法確定你是否會隨著需求的變化進行改變。
相對來說,ZendFramework和Symfony應對變化的能力比較強,特別是能夠隨意定製model層的Class,能夠非常方便增加自己業務或者數據處理類,我是個人比較推薦在中大型項目中使用的框架。CodeIngiter和CakePHP在中小型項目中同樣能夠發揮重大作用,快速開發和原型構建,非常適合目標不清晰的原型項目的開發。了解一個框架最好的方式就是使用它,學習它最好的方式就是看視頻。
仁者見仁,智者見智,在項目挑選框架的時候,請先認真考察項目的需求和未來的變化,然後選擇合適的框架,讓項目開發速度和後期維護性得到一個合理的平衡,當然了,也許,自己寫一個框架更適合。
PHP框架有哪些?使用PHP框架可以更快更簡單的部署項目並提高開發效率,但學習使用這些框架需要付出額外的學習成本。
最流行的PHP框架包括:Symfony,ZendFramework,Laravel、Phalcon、CodeIgniter、Yii、ThinkPHP等等。
php除了mvc還有什麼架構
1.Yii
Yii是一個基於組件的高性能的PHP的框架,用於開發大規模Web應用。Yii採用嚴格的OOP編寫,並有著完善的庫引用以及全面的教程。從MVC,DAO/ActiveRecord,widgets,caching,等級式RBAC,Web服務,到主體化,I18N和L10N,Yii提供了今日Web2.0應用開發所需要的幾乎一切功能。而且這個框架的價格也並不太高。事實上,Yii是最有效率的PHP框架之一。
2.CodeIgniter
CodeIgniter是一個應用開發框架——一個為建立PHP網站的人們所設計的工具包。其目標在於快速的開發項目:它提供了豐富的庫組以完成常見的任務,以及簡單的界面,富有條理性的架構來訪問這些庫。使用CodeIgniter開發可以往項目中注入更多的創造力,因為它節省了大量編碼的時間。
3.CakePHP
CakePHP是一個快速開發PHP的框架,其中使用了一些常見的設計模式如ActiveRecord,AssociationDataMapping,FrontController以及MVC。其主要目標在於提供一個令任意水平的PHP開發人員都能夠快速開發web應用的框架,而且這個快速的實現並沒有犧牲項目的彈性。
4.PHPDevShell
PHPDevShell是一個開源(GNU/LGPL)的快速應用開發框架,用於開發不含Javascript的純PHP。它有一個完整的GUI管理員後台界面。其主要目標在於開發插件一類的基於管理的應用,其中速度、安全、穩定性及彈性是最優先考慮的重點。其設計形成了一個簡單的學習曲線,PHP開發者無需學習復雜的新術語。PHPDevShell的到來滿足了開發者們對於一個輕量級但是功能完善,可以無限制的進行配置的GUI的需求。
5.Akelos
AkelosPHP框架是一個基於MVC設計模式的web應用開發平台。基於良好的使用習慣,使用它可以完成如下任務:
◆方便的使用Ajax編寫views
◆通過控制器管理請求(request)及響應(response)
◆管理國際化的應用
◆使用簡單的協議與模型及資料庫通信
你的Akelos應用可以在大多數共享主機服務供應方上運行,因為Akelos對伺服器唯一的要求就是支持PHP。因此,AkelosPHP框架是理想的用於發布單獨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的靈感起源於ApacheTapestry。從04年開始,PRADO成為SourceForge上的開源項目之一。這個項目目前進展到了3.x版本。
8.Zend
作為PHP藝術及精神的延伸,Zend框架的基礎在於簡單,面向對象的最佳方法,方便企業的許可協議,以及經過反復測試的快速代碼庫。Zend框架旨在建造更安全,更可靠的Web2.0應用及web服務,並不斷從前沿廠商(如Google,Amazon,Yahoo,Flickr,StrikeIron和ProgrammableWeb等)的API那裡吸收精華。
9.ZooP
ZoopPHP框架,意為Zoop面向對象的PHP框架。
這是個穩定,可伸縮並可移植的框架。從誕生到現在的5年間,已經在不少產品開發中被使用。Zoop是一個快速,有效並干凈的框架。它的伸縮性很好,你可以只安裝你需要的功能。
對代碼並不很熟悉的開發者也可以通過Zoop快速的開發安全的web應用。熟練的開發者則可以更加將Zoop的彈性利用到極致。
Zoop建議將display,logic以及數據層(MVC)分開使用。
Zoop由很多組件和項目集合而成,其中包括smarty和prototypeAJAX框架,PEAR模塊等。高效的核心組件提供了很多你原本需要自己編碼來實現的功能。Zoop內置的糾錯功能可以通過配置實現生產環境下的錯誤日誌生成,這個錯誤日誌提供了很多信息,可讀性很高,可以更輕易的尋找並排除錯誤。
Zoop的一個特別之處在於其GuiControls,在PHP中是一個相當革新的想法。它提供了很多formwidgets與驗證完整的集合到一起,並形成了一個可以輕松打造個性化GuiControls的框架。
10.QPHP
QPHP,意為快速PHP,它是一個與ASP.NET類似的MVC框架。基本上它是這樣一個情況:
◆整合了Java和C#的美感
◆除去了在其他PHP框架中使用的Perl形式的意義含糊的語言
◆大量基於OOP的概念
Ⅱ php主流框架有哪些
當下最流行的PHP開發框架有哪些?你好,首先我們談一談「框架」是什麼。「php開發框架」,顧名思義,就是要可靠、安全、高效率地搭建出web應用,這也是目的。
那麼,框架的優勢在哪裡?我們為什麼要用框架?——因為框架可以將資料庫、緩存、會話等功能組建合並為一,方便使用。
下面我們聊一聊比較流行的三個php開發框架。
Lavarel:這是一整套語法簡潔,好理解的web開發框架。主要的優勢集中體現在後期的支持、文檔的全備,還有活躍的社區上。學習Lavarel,需要先對PHP語言、面向對象、資料庫的操作有一個基本的學習基礎。
ThinkPHP:基於最開始即沿用的簡單結構——mvc和面向對象的輕量級PHP開發框架。簡單的語法下增添了原創功能和特性,強力支持了web應用的開發。
Yii:極其優化的性能,對於任何種類的項目而言都很容易露一手。文檔功能十分詳盡,擁有一切你需要學習的信息。不管是開源的還是私有的應用,都可以自消罩返由地使用!不論從法律還是財務上來講!
結語:
很多朋友都容易有這樣的疑問——這三個框架哪個更好?這里我拿飢簡單回答一下,沒有好不好,只有適不悶吵適合,如果頭子說yii好,必定就是yii主導地位。
最後分享一個程序猿大大滴提高效率的工具,答案就是——單身。
好,下回見
目前php開發網站,最為流行的框架是哪幾個?Yii
Yii是一個基於組件的高性能的PHP的框架,用於開發大規模Web應用。Yii採用嚴格的OOP編寫,並有著完善的庫引用以及全面的教程。從MVC,DAO/,widgets,caching,等級式RBAC,Web服務,到主體化,I18N和L10N,Yii提供了今日Web2.0應用開發所需要的幾乎一切功能。而且這個框架的價格也並不太高。事實上,Yii是最有效率的PHP框架之一。
CodeIgniter
CodeIgniter是一個應用開發框架——一個為建立PHP網站的人們所設計的工具包。其目標在於快速的開發項目:它提供了豐富的庫組以完成常見的任務,以及簡單的界面,富有條理性的架構來訪問這些庫。使用CodeIgniter開發可以往項目中注入更多的創造力,因為它節省了大量編碼的時間。
CakePHP
CakePHP是一個快模咐速開發PHP的框架,其中使用了一些常見的設計模式如,AssociationDataMapping,FrontController以及MVC。其主要目標在於提供一個令任意水平的PHP開發人員都能夠快速開發web應用的框架,而且這個快速的實現並沒有談殲犧牲項目的彈性。當然啦,如果是自助建設網站可以旦侍純藉助建站寶盒來進行。
php有哪些框架?
PHP的框架有很多,這里說一部分供大家參考:
國內框架:ThinkPHP,Canphp,KYPHP,InitPHP,SpeedPHP,CdvPHP,KPHP。
國外著名框架:ZendFramework,Codelgniter,CakePHP,Symfony?,Yii,Seagull,Laravel。
小型框架:E,DuoLamPHP,Difeye,GalaxixPhp,PhpPeanuts,RongFramework,OpenbizFramework。
PHP作為網路開發的強大語言之一,現在應用非常廣泛,具有開放源代碼,跨平台性強,開發快捷,效率高,面向對象,並且易於上手,專業專注等諸多優點。各種PHP開發框架也讓程序開發變的簡單有效。
框架就是通過提供一個開發Web程序的基本架構,PHP開發框架把PHPWeb程序開發擺到了流水線上。換句話說,PHP開發框架有助於促進快速軟體開發(RAD),這節約了你的時間,有助於創建更為穩定的程序,並減少開發者的重復編寫代碼的勞動。這些框架還通過確保正確的資料庫操作以及只在表現層編程的方式幫助初學者創建穩定的程序。PHP開發框架使得你可以花更多的時間去創造真正的Web程序,而不是編寫重復性的代碼。
排名前10並且最受歡迎的PHP框架(排名不分先後)。,
1,Laravel這款可能是現在最受歡迎的PHP框架,Laravel非常強大,而且銷橡很高雅,易於學習和使用。非常值得一試!
2,Flight是一個快速,簡單,可擴展的微型PHP框架,允許用戶快速的構建RESTfulweb應用,同樣易於學習和使用,簡單但是很強大!
3,Yii是個高性能的PHP框架,用來開發Web2.0應用程序,Yii擁有很豐富的特性:MVC,DAO/ActiveRecord,I8N/L10N,緩存,身份認證,基於用戶角色的訪問控制,scaffolding和測試等等。
4,,Medoo是最輕的PHP資料庫,只包括了一個10,9kb的文件桐悄,一個很強大的適用於簡單的web小應用開發的微型框架。
5,PHPixie這局斗渣個框架源於Kohana框架,是我最喜歡的框架了:兼容MVC,能快速掌握,強大,你也應該試一試!
6,CodeIgniter雖然是個比較老的框架,但是我還是很喜歡這個強大的MVC框架CI,無數次在我的項目中使用它,從來也沒對它失去信心,依然是我不變的選擇!
7,Kohana是個開源的,面向對象的MVCweb框架,是使用PHP5來構建的。這個框架是由一群志願者隊伍開發的,他們致力於迅速,安全和小。
8,Symfony這個框架是在2005年創建,是個非常強大的MVC框架,在企業界是非常受歡迎的。Symfony是收到眾多的web應用框架啟發的:RubyonRails,Django和Spring,它可能是最完整的PHP框架了。
9,PopPHP很多PHP框架很漂亮也很復雜,Pop的建立是考慮到所有經驗層次的,提供了一系列可管理的學習曲線給初學者熟悉PHP的基礎,同時又提供了健壯和強大的功能給有經驗的PHP開發者。大小小於2MB。
10,Phalcon是一個開源的,滿棧的PHP框架,使用PHP5類似C擴展的語言來編寫的高性能框架。用戶不需要會用C語言,Phalcon會提供PHP類。Phalcon是鬆散耦合,用戶可以隨意使用組件來創建web應用。