php框架有哪些
❶ php中的各種框架
CodeIgniter、CakePHP、ZendFramework、Symfony這幾個是國外的,你可以參考下http://www.isstudy.com
CodeIgniter
優點:
1. 配置簡單,全部的配置使用PHP腳本來配置,執行效率高;具有基本的路由功能,能夠進行一定程度的路由;具有初步的Layout功能,能夠製作一定程度的界面外觀;資料庫層封裝的不錯,具有基本的MVC功能
2. 快速簡潔,代碼不多,執行性能高,框架簡單,容易上手,學習成本低,文檔詳細;自帶了很多簡單好用的library,框架適合小型應用
缺點:
1. 把Model層簡單的理解為資料庫操作
2. 框架略顯簡單,只能夠滿足小型應用,略微不太能夠滿足中型應用需要
評價:
總體來說,拿CodeIgniter來完成簡單快速的應用還是值得,同時能夠構造一定程度的layout,便於模板的復用,數據操作層來說封裝的不錯,並且CodeIgniter沒有使用很多太復雜的設計模式,執行性能和代碼可讀性上都不錯。至於附加的 library 也還不錯,簡潔高效。
CakePHP
優點:
1. CakePHP是最類似於RoR的框架,包括設計方式,資料庫操作的Active Record方式;設計層面很優雅,沒有自帶多餘的 library,所有的功能都是純粹的框架,執行效率還不錯;資料庫層的 hasOne, hasMany 功能很強大,對於復雜業務處理比較合適;路由功能,配置功能還不錯;自動構建腳手架(scaffold)很強大;適合中型應用;基本實現過了MVC每一層;具有自動操作命令行腳本功能;
2. 文檔比較全,在國內推廣的比較成功,大部分都知道CakePHP,學習成本中等
缺點:
1. CakePHP非常嚴重的問題是把Model理解為資料庫層操作,嚴重影響了除了資料庫之外的操作能力
2. CakePHP的cache功能略顯薄弱,配置功能稍嫌弱;CakePHP不適合大型應用,只適合中型應用,小型應用來說略微的學習成本高了點
評價:
總體來說CakePHP框架代表了PHP框架很重要的一個時代和代表,並且目前發揮著很重要的作用,不少自己寫的框架都模仿了CakePHP的方式,是個里程碑式的產品;CakePHP透露著RoR的敏捷開發方式和把資料庫操作認為是唯一Model的設計思想,作為開發快速應用和原型是絕好的工具;同樣,用來做Web2.0網站的開發框架,也是值得選擇的。
【 Zend Framework 】
優點:
1. 官方出品,自帶了非常多的 library,框架本身使用了很多設計模式來編寫,架構上很優雅,執行效率中等;MVC設計中,比較簡潔,具有路由功能,配置文件比較強大(能夠處理 XML和php INI),各種 library 很強大,是所有PHP框架中各種功能最全面的,包括它不僅是一個框架,更是一個大類庫(取代PEAR),這是它的主要特色;能夠直觀的支持除資料庫操作之外的Model層(比 CodeIgniter 和 CakePHP 強),並且能夠很輕易的使用Loader功能載入其他新增加的Class;Cache功能很強大,從前端Cache到後端Cache都支持,後端 Cache支持Memcache、APC、sqlite、文件等等方式;資料庫操作功能很強大,支持各種驅動(適配器)
2. 文檔很全,在國內社區很成熟,並且目前不少Web 2.0網站在使用,學習成本中等
缺點:
1. MVC功能完成比較弱,View層簡單實現(跟沒實現一樣),無法很強大的控制前端頁面
2. 沒有自動化腳本,創建一個應用,包括入口文件,全部必須自己手工構建,入門成本高
3. Zend Framework 作為一個中型應用框架問題不大,也能夠勉強作為大型應用的框架,但是作為一個很成熟的大型PHP框架來說,還需要一些努力
評價:
作為官方出品的框架,Zend Framework的野心是可以預見的,想把其他框架擠走,同時封裝很多強大的類庫,能夠提供一站式的框架服務,並且他們的開發團隊很強大,完全足夠有能力開發很強大的產品出來,所以基本可以確定的是Zend Framework前途無量,如果花費更多的時間去完善框架。同樣的,Zend Framework架構本身也是比較優雅的,說明Zend官方是有很多高手的,設計理念上比較先進,雖然有一些功能實現的不夠完善,比如View層,自動化腳本等等,這些都有賴於未來的升級。總體來說Zend Framework是最值得期待的框架,當然,你目前要投入你的項目中使用也是完全沒問題的。
【 Symfony 】
優點:
1. Symfony 是我了解的PHP框架中功能最強大的,而且我使用時間比較長,但是很多功能還是沒有挖掘出來;它完整實現了MVC三層,封裝了所有東西,包括 $_POST,$_GET 數據,異常處理,調試功能,數據檢測;包含強大的緩存功能,自動載入Class(這個功能很爽),強大的i18n國家化支持;具有很強大的view層操作,能夠零碎的包含單個多個文件;非常強大的配置功能,使用yml配置能夠控制所有框架和程序運行行為,強大到讓人無語;能夠很隨意的定義各種自己的 class,並且symfony能夠自動載入(auto load)這些class,能夠在程序中隨意調用;包含強大的多層級項目和應用管理:Project --> Application --> Mole --> Action,能夠滿足一個項目下多個應用的需要,並且每層可以定義自己的類庫,配置文件,layout;非常強大的命令行操作功能,包括建立項目、建立應用、建立模塊、刷新緩存等等;
2. Symfony絕對是開發大型復雜項目的首選,因為使用了Symfony,將大大節約開發成本,並且多人協作的時候,不會出現問題,在Project級別定義好基礎Class以後,任何模塊都能夠重用,大大復用代碼
缺點:
1. 資料庫操作model採用了重量級的propel和creole,不過在我測試的版本中已經把他們移到了addon里,可用可不用
2. 緩存功能無法控制,每次開發調試總是緩存,需要執行 symfony cc, symfony rc 來清除和重建緩存;
3. 效率不是很高,特別是解析模板和讀取配置文件的過程,花費時間不少;
4. 學習成本很高,並且國內沒有成熟的社區和文檔,連中文手冊都沒有,相應的要掌握所有功能,需要花費比較多的時間
評價:
Symfony絕對是企業級的框架,唯一能夠貌似能夠跟Java領域哪些強悍框架抗衡的東西;強悍的東西,自然學習復雜,但是相應的對項目開發也比較有幫助,自然是推薦復雜的項目使用Symfony來處理,覺得是值得,後期的維護成本比較低,復用性很強。相應的如果使用Symfony的應該都是比較復雜的互聯網項目,那麼相應的就要考慮關於資料庫分布的問題,那麼就需要拋棄Symfony自帶的資料庫操作層,需要自己定義,當然了,Symfony支持隨意的構造model層。
【 總評 】
以上數款框架,各有特色,而且都是開源項目,不過框架針對的項目不一樣,一般來說 CodeIngiter 比較適合小型項目,CakePHP 和 Zend Framework 比較適合中型項目,Symfony 比較適合大型重量級項目,在項目選型的時候,要充分考慮框架的可以定製性、擴展性,因為每個項目都無法確定你是否會隨著需求的變化進行改變。
相對來說,Zend Framework 和 Symfony 應對變化的能力比較強,特別是能夠隨意定製 model 層的Class,能夠非常方便增加自己業務或者數據處理類,我是個人比較推薦在中大型項目中使用的框架。CodeIngiter 和 CakePHP 在中小型項目中同樣能夠發揮重大作用,快速開發和原型構建,非常適合目標不清晰的原型項目的開發。了解一個框架最好的方式就是使用它,學習它最好的方式就是看視頻。
仁者見仁,智者見智,在項目挑選框架的時候,請先認真考察項目的需求和未來的變化,然後選擇合適的框架,讓項目開發速度和後期維護性得到一個合理的平衡,當然了,也許,自己寫一個框架更適合。
❷ php有哪些框架
PHP的框架非常多,比如常用的laravel,YII,CI,Symfony2,Thinkphp,zend framework等等。這些都是非常熱門的一些框架。說白了框架就是對php底層的一種封裝,一種規范,最終執行的還是php原生的一些東西。打好基礎,無論哪種框架,都能得心應手。
❸ 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的需求。
❹ php知識框架總結
php知識框架總結
篇一:php基礎知識點總結
PHP語言基礎簡單整理
1.開始結束標記的格式只有在沒有判斷語句時才能使用。
對表單傳遞的變數進行編碼和解碼:PHP中實現對查詢字元串進行URL編碼可以通過函數urlencode()實現,該函數的使用格式如下:string urlencode(string str);對URL編碼後的查詢字元串進行解碼,可以通過urldecode()函數實現,該函數的使用格式如下:string urldecode(string str);
15.PHP連接資料庫:
步驟: 一、建立連接------mssql_connect(server,uid,pwd);
二、指定database-------mssql_select_db(databasename);
三、執行sql------mssql_query($sql,$link);
四、處理記錄集-------資源類型數據,格式:bof---數據---eof
五、以特定格式讀取數據-----mssql_fetch_array()....
六、釋放相關資源、關閉連接------mssql_free_result($result);mssql_close();
16.數組:php的數組由鍵值和value值組成
定義:$array = array("鍵值"=>"value","鍵值"=>"value","鍵值"=>"value");如果不給鍵值賦值,默認從0開始的int值
相關函數:(1)in_array("值",數組名); 返回bool型-----查看數組中是否存在某value值
(2)array_key_exists("key值",數組名); 返回bool型-----查看數組中是否存在某鍵值
(3)array_keys(數組名);---將數組鍵值返回出來形成一個新數組,此鍵值作為新數組的value值
(4)array_values(數組名);---將數組value值返回出來形成一個新數組,此值作為新數組的value值
(5)key(數組名);----返回當前指針指向的元素key值
(6)current(數組名);----返回當前指針指向的元素value值
(7)next(數組名);----挪動當前數組指針到下一步
(8)reset(數組名);----恢復數組指針,指向第0個元素
(9)end(數組名);----將指針挪向最後一個元素
(10)prev(數組名);----將指針向前挪動一位
(11)foreach(數組名 as $key=>$value)
{
$key是鍵值,$value是value值,實現數組遍歷
}
(12)each(數組名);----將當前數組元素依次取出(自動挪動指針)並放到一個新的數組中
(13)array_shift(數組名);----返回數組中第一個元素值
(14)array_pop(數組名);----返回數組最後一個元素值
(15)array_push(數組名,value);----向數組中追加元素
(16)array_unshift(數組名,value);----在數組最前面添加元素
(17)array_pad(數組名,數組長度,value);----向數組中追加多個元素,對數組副本操作,不改變原數組,返回一個新數組
(18)count();----返回個數
(19)array_unique(數組名);----去掉數組中重復部分,操作數組副本,不改變原數組,返回新數組
(20)sort(數組名);----從小到大升序排列數組value值,一般針對int型value值,返回bool型,成功返回true
(21)rsort(數組名);----從大到小,逆序排列數組value值
(22)array_combine(數組1,數組2);----將數組1的value值作為key,數組2的value值作為value值,形成一個新數組
(23)array_merge(數組1,數組2,數組3...);----合並多個數組,將多個數組value值依次合並,合為一個數組
(24)array_slice(數組名,int,int);----從目標數組截取元素,形成一個新數組。開始位置為第二個參數,結束位置為第三個參數。若第三個參數不寫,則默認是截取到最後。
(25)array_splice();----用法同array_slice();但是其截取部分從原數組中刪除
(26)explode("字元依據",目標字元串);----將字元串按照一定的依據拆分成數組
(27)implode("字元依據",目標數組);----將數組元素按照依據組合成一個字元串
(28)range(mixed low,mixed high[number step]);----生成數組,例:range(1,100,8);---即從1到100,每8位取一個數,組成一個數組
(29)shuffle(數組名);----用於將數組進行隨機排序
(30)array_sum(數組名);----對數值型數組元素值進行求和
(31)array_chunk(數組名,int);----分割目標數組,返回一個新數組,其中數組的每個元素都是一個一維數組,int參數為分割成的一維數組的長度
17.Cookie和會話控制:
Cookie是在HTTP協議下,伺服器或腳本可以維護客戶工作站上信息的一種方式。Cookie是由Web伺服器保存在客戶機上的小文本文件,它可以包含有關用戶的信息。無論何時用戶鏈接到伺服器,Web站點都可以訪問Cookie信息。
存在server端的是session,存在client端的是cookie,它們用來存儲全局變數。 設定Cookie值:setcookie("名","值");
通過Cookie數組取值:$_cookie["名"];
設置生成期:setcookie("名","值",time()+1800);生成期為當前時間加1800秒之後。
刪除cookie: setcookie("名","",time()-3600);中間值設置為空,並將當前時間減去3600秒。 Cookie數組:setcookie("名[key]","值"); 使用foreach讀取。
在PHP中可以通過$_COOKIE預定義變數訪問Cookie的值。如果設置了php.ini中的register_long_arrays,那麼就能夠應用$_COOKIE和$HTTP_COOKIE_VARS;如果在php.ini中還設置了register_globals,那麼就可以在PHP中作為全局變數使用各個Cookie值。但是,更改php.ini中的兩個文件設置,容易對PHP的安全構成威脅,不推薦使用該方法,建議使用更新的$_COOKIE。
會話ID的傳送
會話ID的傳送有兩種方式,一種是Cookie方式,另一種是URL方式。
Cookie傳送方式:
這是最簡單的會話方式,但是有些客戶可能限制使用Cookie,如果客戶限制使用Cookie的條件下,仍要繼續工作,那就要通過其他方式來實現了。
URL傳送方式:
在該方式中,URL本身用來傳送會話,會話標志被簡單地附加到URL的尾部,或者作為窗體中的一個變數來傳遞。例:
❺ 哪個PHP 框架比較好
最流行的PHP框架:Symfony, Laravel和Yii。
Symfony
Symfony是一套可重復使用的PHP組件,它允許開發者人員創建可擴展的,高效能的應用程序。它有30個組件可以選擇,開發人員可以有足夠的自由在RAD環境下進行試驗和工作。Symfony
API還允許使用第三方應用來方便集成,它可以與流行的前端框架,例如AngularJS一起使用。
很多流行的項目,包括Drupal和phpBB,都使用了Symfony框架。事實上,Laravel這個最流行的PHP框架是由Symfon建立的。
總結
在Symfony 、Laravel和Yii三者較量中,這三個PHP框架都是很好的選擇,為開發人員提供了一個全棧開發環境。對我個人來說,Laravel更佳,它作為一顆新出現的「框架之星」,沒有停下來的跡象。
❻ php除了mvc還有什麼架構
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應用開發平台。基於良好的使用習慣,使用它可以完成如下任務:
◆方便的使用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的概念
❼ 新手學習thinkphp6還是thinkphp5比較好
thinkphp5好
ThinkPHP5是一個全新的里程碑版本,包括路由、日誌、異常、模型、資料庫、模板引擎和驗證等模塊都已經重構,不適合原有3.2項目的升級,請慎重考慮商業項目升級,但絕對是新項目的首選(無論是WEB還是API開發),而且最好是忘記3.2版本的思維習慣,重新理解TP5。
❽ PHP框架有哪些
使用PHP框架可以更快更簡單的部署項目並提高開發效率,但學習使用這些框架需要付出額外的學習成本。
最流行的PHP框架包括:Symfony, Zend Framework, Laravel、Phalcon、CodeIgniter、Yii、ThinkPHP等等。
❾ PHP常用框架有哪些
國內框架:ThinkPHP、Canphp、KYPHP、InitPHP、SpeedPHP、CdvPHP 等等
國外框架:Zend Framework、Codelgniter、CakePHP、Symfony 、Yii、Seagull 、Laravel等
比較常用:Laravel、Flight、Yii、Medoo、PHPixie、Codelgniter、Kohana、Symfony、Pop PHP、Phalcon、KPHP等
--ITjob
❿ 國內常用的PHP框架有哪些
有以下幾種:Canphp,KYPHP,SpeedPHP