-
當(dāng)前位置:首頁 > 創(chuàng)意學(xué)院 > 排行榜 > 專題列表 > 正文
php開源框架排行榜(php開源框架排行榜最新)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于php開源框架排行榜的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com,如需相關(guān)業(yè)務(wù)請撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、PHP中的各種框架
CodeIgniter、CakePHP、ZendFramework、Symfony這幾個是國外的,你可以參考下http://www.isstudy.com
CodeIgniter
優(yōu)點:
1. 配置簡單,全部的配置使用PHP腳本來配置,執(zhí)行效率高;具有基本的路由功能,能夠進(jìn)行一定程度的路由;具有初步的Layout功能,能夠制作一定程度的界面外觀;數(shù)據(jù)庫層封裝的不錯,具有基本的MVC功能
2. 快速簡潔,代碼不多,執(zhí)行性能高,框架簡單,容易上手,學(xué)習(xí)成本低,文檔詳細(xì);自帶了很多簡單好用的library,框架適合小型應(yīng)用
缺點:
1. 把Model層簡單的理解為數(shù)據(jù)庫操作
2. 框架略顯簡單,只能夠滿足小型應(yīng)用,略微不太能夠滿足中型應(yīng)用需要
評價:
總體來說,拿CodeIgniter來完成簡單快速的應(yīng)用還是值得,同時能夠構(gòu)造一定程度的layout,便于模板的復(fù)用,數(shù)據(jù)操作層來說封裝的不錯,并且CodeIgniter沒有使用很多太復(fù)雜的設(shè)計模式,執(zhí)行性能和代碼可讀性上都不錯。至于附加的 library 也還不錯,簡潔高效。
CakePHP
優(yōu)點:
1. CakePHP是最類似于RoR的框架,包括設(shè)計方式,數(shù)據(jù)庫操作的Active Record方式;設(shè)計層面很優(yōu)雅,沒有自帶多余的 library,所有的功能都是純粹的框架,執(zhí)行效率還不錯;數(shù)據(jù)庫層的 hasOne, hasMany 功能很強(qiáng)大,對于復(fù)雜業(yè)務(wù)處理比較合適;路由功能,配置功能還不錯;自動構(gòu)建腳手架(scaffold)很強(qiáng)大;適合中型應(yīng)用;基本實現(xiàn)過了MVC每一層;具有自動操作命令行腳本功能;
2. 文檔比較全,在國內(nèi)推廣的比較成功,大部分都知道CakePHP,學(xué)習(xí)成本中等
缺點:
1. CakePHP非常嚴(yán)重的問題是把Model理解為數(shù)據(jù)庫層操作,嚴(yán)重影響了除了數(shù)據(jù)庫之外的操作能力
2. CakePHP的cache功能略顯薄弱,配置功能稍嫌弱;CakePHP不適合大型應(yīng)用,只適合中型應(yīng)用,小型應(yīng)用來說略微的學(xué)習(xí)成本高了點
評價:
總體來說CakePHP框架代表了PHP框架很重要的一個時代和代表,并且目前發(fā)揮著很重要的作用,不少自己寫的框架都模仿了CakePHP的方式,是個里程碑式的產(chǎn)品;CakePHP透露著RoR的敏捷開發(fā)方式和把數(shù)據(jù)庫操作認(rèn)為是唯一Model的設(shè)計思想,作為開發(fā)快速應(yīng)用和原型是絕好的工具;同樣,用來做Web2.0網(wǎng)站的開發(fā)框架,也是值得選擇的。
【 Zend Framework 】
優(yōu)點:
1. 官方出品,自帶了非常多的 library,框架本身使用了很多設(shè)計模式來編寫,架構(gòu)上很優(yōu)雅,執(zhí)行效率中等;MVC設(shè)計中,比較簡潔,具有路由功能,配置文件比較強(qiáng)大(能夠處理 XML和php INI),各種 library 很強(qiáng)大,是所有PHP框架中各種功能最全面的,包括它不僅是一個框架,更是一個大類庫(取代PEAR),這是它的主要特色;能夠直觀的支持除數(shù)據(jù)庫操作之外的Model層(比 CodeIgniter 和 CakePHP 強(qiáng)),并且能夠很輕易的使用Loader功能加載其他新增加的Class;Cache功能很強(qiáng)大,從前端Cache到后端Cache都支持,后端 Cache支持Memcache、APC、SQLite、文件等等方式;數(shù)據(jù)庫操作功能很強(qiáng)大,支持各種驅(qū)動(適配器)
2. 文檔很全,在國內(nèi)社區(qū)很成熟,并且目前不少Web 2.0網(wǎng)站在使用,學(xué)習(xí)成本中等
缺點:
1. MVC功能完成比較弱,View層簡單實現(xiàn)(跟沒實現(xiàn)一樣),無法很強(qiáng)大的控制前端頁面
2. 沒有自動化腳本,創(chuàng)建一個應(yīng)用,包括入口文件,全部必須自己手工構(gòu)建,入門成本高
3. Zend Framework 作為一個中型應(yīng)用框架問題不大,也能夠勉強(qiáng)作為大型應(yīng)用的框架,但是作為一個很成熟的大型PHP框架來說,還需要一些努力
評價:
作為官方出品的框架,Zend Framework的野心是可以預(yù)見的,想把其他框架擠走,同時封裝很多強(qiáng)大的類庫,能夠提供一站式的框架服務(wù),并且他們的開發(fā)團(tuán)隊很強(qiáng)大,完全足夠有能力開發(fā)很強(qiáng)大的產(chǎn)品出來,所以基本可以確定的是Zend Framework前途無量,如果花費更多的時間去完善框架。同樣的,Zend Framework架構(gòu)本身也是比較優(yōu)雅的,說明Zend官方是有很多高手的,設(shè)計理念上比較先進(jìn),雖然有一些功能實現(xiàn)的不夠完善,比如View層,自動化腳本等等,這些都有賴于未來的升級。總體來說Zend Framework是最值得期待的框架,當(dāng)然,你目前要投入你的項目中使用也是完全沒問題的。
【 Symfony 】
優(yōu)點:
1. Symfony 是我了解的PHP框架中功能最強(qiáng)大的,而且我使用時間比較長,但是很多功能還是沒有挖掘出來;它完整實現(xiàn)了MVC三層,封裝了所有東西,包括 $_POST,$_GET 數(shù)據(jù),異常處理,調(diào)試功能,數(shù)據(jù)檢測;包含強(qiáng)大的緩存功能,自動加載Class(這個功能很爽),強(qiáng)大的i18n國家化支持;具有很強(qiáng)大的view層操作,能夠零碎的包含單個多個文件;非常強(qiáng)大的配置功能,使用yml配置能夠控制所有框架和程序運行行為,強(qiáng)大到讓人無語;能夠很隨意的定義各種自己的 class,并且symfony能夠自動加載(auto load)這些class,能夠在程序中隨意調(diào)用;包含強(qiáng)大的多層級項目和應(yīng)用管理:Project --> Application --> Module --> Action,能夠滿足一個項目下多個應(yīng)用的需要,并且每層可以定義自己的類庫,配置文件,layout;非常強(qiáng)大的命令行操作功能,包括建立項目、建立應(yīng)用、建立模塊、刷新緩存等等;
2. Symfony絕對是開發(fā)大型復(fù)雜項目的首選,因為使用了Symfony,將大大節(jié)約開發(fā)成本,并且多人協(xié)作的時候,不會出現(xiàn)問題,在Project級別定義好基礎(chǔ)Class以后,任何模塊都能夠重用,大大復(fù)用代碼
缺點:
1. 數(shù)據(jù)庫操作model采用了重量級的propel和creole,不過在我測試的版本中已經(jīng)把他們移到了addon里,可用可不用
2. 緩存功能無法控制,每次開發(fā)調(diào)試總是緩存,需要執(zhí)行 symfony cc, symfony rc 來清除和重建緩存;
3. 效率不是很高,特別是解析模板和讀取配置文件的過程,花費時間不少;
4. 學(xué)習(xí)成本很高,并且國內(nèi)沒有成熟的社區(qū)和文檔,連中文手冊都沒有,相應(yīng)的要掌握所有功能,需要花費比較多的時間
評價:
Symfony絕對是企業(yè)級的框架,唯一能夠貌似能夠跟Java領(lǐng)域哪些強(qiáng)悍框架抗衡的東西;強(qiáng)悍的東西,自然學(xué)習(xí)復(fù)雜,但是相應(yīng)的對項目開發(fā)也比較有幫助,自然是推薦復(fù)雜的項目使用Symfony來處理,覺得是值得,后期的維護(hù)成本比較低,復(fù)用性很強(qiáng)。相應(yīng)的如果使用Symfony的應(yīng)該都是比較復(fù)雜的互聯(lián)網(wǎng)項目,那么相應(yīng)的就要考慮關(guān)于數(shù)據(jù)庫分布的問題,那么就需要拋棄Symfony自帶的數(shù)據(jù)庫操作層,需要自己定義,當(dāng)然了,Symfony支持隨意的構(gòu)造model層。
【 總評 】
以上數(shù)款框架,各有特色,而且都是開源項目,不過框架針對的項目不一樣,一般來說 CodeIngiter 比較適合小型項目,CakePHP 和 Zend Framework 比較適合中型項目,Symfony 比較適合大型重量級項目,在項目選型的時候,要充分考慮框架的可以定制性、擴(kuò)展性,因為每個項目都無法確定你是否會隨著需求的變化進(jìn)行改變。
相對來說,Zend Framework 和 Symfony 應(yīng)對變化的能力比較強(qiáng),特別是能夠隨意定制 model 層的Class,能夠非常方便增加自己業(yè)務(wù)或者數(shù)據(jù)處理類,我是個人比較推薦在中大型項目中使用的框架。CodeIngiter 和 CakePHP 在中小型項目中同樣能夠發(fā)揮重大作用,快速開發(fā)和原型構(gòu)建,非常適合目標(biāo)不清晰的原型項目的開發(fā)。了解一個框架最好的方式就是使用它,學(xué)習(xí)它最好的方式就是看視頻。
仁者見仁,智者見智,在項目挑選框架的時候,請先認(rèn)真考察項目的需求和未來的變化,然后選擇合適的框架,讓項目開發(fā)速度和后期維護(hù)性得到一個合理的平衡,當(dāng)然了,也許,自己寫一個框架更適合。
二、php有哪些常用的優(yōu)秀開源項目
包管理Package Management
Package Management Related
框架
框架組件
微框架Micro Frameworks
內(nèi)容管理系統(tǒng)Content Management Systems
模板Templating
靜態(tài)網(wǎng)站生成器Static Site Generators
HTTP
URL
Files
Streams
Dependency Injection
Imagery
Testing
Documentation
Security
Code Analysis
Build Tools
Asset Management
Geolocation
Date and Time
Event
Logging
E-commerce
ORM and Datamapping
NoSQL
Queue
Search
Command Line
Authentication
Markup
Text and Numbers
Filtering and Validation
REST and API
Caching
Data Structure and Storage
Notifications
Deployment
Third Party APIs
Miscellaneous
Development Software
Web Tools
Websites
Books
Web Reading
PHP Reading
PHP Internals Reading
一個非常棒的PHP庫,資源和實用內(nèi)容大集合。
三、國內(nèi)PHP開源易用框架有哪些
FramkPHP 上手比較快,并且有簡單的示例,你可以看一下。
四、主流 開源PHP架構(gòu)都有什么?PHP論壇架構(gòu)都有什么?
LAMP(Linux + Apache + MySQL + PHP)
LAMP 平臺由四個組件組成,呈分層結(jié)構(gòu)。每一層都提供了整個軟件棧的一個要害部分:
* Linux:Linux 處在最低層,提供操作系統(tǒng)。其他每個組件實際上也在 Linux 上運行。但是,并不一定局限于 Linux,如有必要,其他組件也可以在 Microsoft® Windows®、Mac OS X 或 UNIX® 上運行。
* Apache:次低層是 Apache,它是一個 Web 服務(wù)器。Apache 提供可讓用戶獲得 Web 頁面的機(jī)制。Apache 是一款穩(wěn)定的、支持要害任務(wù)的服務(wù)器,Internet 上超過 65% 的網(wǎng)站都使用它作為 Web 服務(wù)器。PHP 組件實際上是在 Apache 中,動態(tài)頁面可以通過 Apache 和 PHP 創(chuàng)建。
* MySQL:MySQL 提供 LAMP 系統(tǒng)的數(shù)據(jù)存儲端。有了 MySQL,便可以獲得一個非常強(qiáng)大的、適合運行大型復(fù)雜站點的數(shù)據(jù)庫。在 Web 應(yīng)用程序中,所有數(shù)據(jù)、產(chǎn)品、帳戶和其他類型的信息都存放在這個數(shù)據(jù)庫中,通過 SQL 語言可以很輕易地查詢這些信息。
* PHP:PHP 是一門簡單而有效的編程語言,它像是粘合劑,可以將 LAMP 系統(tǒng)所有其他的組件粘合在一起。您可以使用 PHP 編寫能訪問 MySQL 數(shù)據(jù)庫中的數(shù)據(jù)和 Linux 提供的一些特性的動態(tài)內(nèi)容。
至于PHP論壇,用Discuz 或PHPWind 比較主流。
以上就是關(guān)于php開源框架排行榜相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。
推薦閱讀:
ChatGPT接入Siri指南來了/必應(yīng)下載量進(jìn)前五/ AlphaGo核心早已開源
photoshop正版下載(photoshop正版下載地址)
青島美麗鄉(xiāng)村景觀設(shè)計報價(青島美麗鄉(xiāng)村規(guī)劃方案)
浙江酒店景觀設(shè)計什么價格(浙江酒店景觀設(shè)計什么價格合適)