Ⅰ thinkphp與yii 哪個更優秀,分別是哪些方面優秀
yii更優秀,而且要比thinkphp優秀很多。
要回答分別是哪些方面優秀我們先要明白,框架是用來干什麼的。
框架的作用:1、簡化開發。2、提高工程的可維護性。3、規避編程語言本身的坑和陷阱。
那麼我們就從這3個方面來討論下著二者的優劣。
1、簡化開發方面:從新手的視角來看(或者表面來看),thinkphp做項目更簡單,因為其一提供了大部分web開發常用類庫,其二中文手冊寫的很詳細。但事實上,thinkphp有兩個缺失的特性導致一旦項目做久或者稍微上規模,就會使人頭痛不堪,這缺失的兩個特性分別是:完整的AR支持以及完善的多層次模型
其次,web項目開發中大部分代碼都是重復的,因此自動化代碼生成工具是必不可少的,截至最新的tp3.2.3,我仍然沒看到tp對自動化工具有任何支持的跡象
2、可維護性,缺失了完整的AR和多層次模型,代碼不可能工整到哪裡去,代碼一多,源代碼必然跟面條一樣雜亂。最重要的時,TP沒有unitTest,這導致重構都無門。同樣,資料庫方面,tp缺失了數據遷移工具,這都導致了項目後期維護由很大困難
3、規避編程語言本身的坑和陷阱:tp和Yii都是由PHP做的實現,PHP本身有很多的坑和陷阱,諸如混亂的語言結構與函數傻傻分不清的關系,變數轉換的陷阱,凌亂不堪的類庫命名。這些在yii里基本都得到了改善,Yii完全用面向對象的方式構建,常用web類庫都以組件方式呈現,終於改善了PHP程序員邊寫代碼邊網路:『XX功能該用哪個函數』的情況。反觀TP,僅僅對常用類庫封裝成class,要用什麼取什麼,根本沒做過精心的設計,完全像是一個多年的程序員攢了些類庫,然後七拼八湊而成的一個框架,因此我常常說,thinkphp是個偽MVC框架。
Ⅱ PHP中常用的七大框架的優點與缺點
在PHP領域,討論各種框架的優缺點一直是一個熱門話題。本文通過收集整理幾個主流框架,如Yii2、Laravel、YAF、ThinkPHP,來探討它們各自的特點與局限性。如果您有任何疑問,歡迎在評論區提出,讓我們共同學習進步。
一、ThinkPHP
ThinkPHP是一款輕量級中型框架,其設計靈感源於Java的Struts結構,採用面向對象的開發模式和MVC模式,對Struts標簽庫進行了模擬實現。它更加人性化,對於熟悉J2EE開發的人員來說,易於上手。ThinkPHP旨在簡化開發流程,提高效率,便於擴展,支持包括MySQL、MSSQL、SQLite、PgSQL、Oracle和PDO在內的多種資料庫類型。豐富的文檔和示例使其具備很強的兼容性,但功能較為有限,更適合中小型項目的開發。
優點:
缺點:
二、Yii
Yii是一個高性能的PHP框架,適用於開發大型Web應用。它基於嚴格的OOP編寫,擁有完善的庫引用和全面的教程,涵蓋了MVC、DAO/ActiveRecord、widgets、緩存、等級式RBAC、Web服務、主題化、國際化和本地化等功能,是PHP框架中效率之一。
優點:
缺點:
三、Laravel
Laravel框架設計思想先進,非常適合應用測試驅動開發(TDD)、領域驅動設計(DDD)和行為驅動設計(BDD)。它支持Composer包管理工具,結合了PHP最新特性及各種設計模式,如IoC容器、依賴注入等。
優點:
缺點:
四、CodeIgniter
CodeIgniter推崇「簡單就是美」原則,代碼簡潔,易於上手。配置簡單,使用PHP腳本配置,執行效率高,具有基本的路由、布局、資料庫操作等功能,自帶實用的庫,適合小型應用。
優點:
缺點:
五、Zend Framework
Zend Framework具有高度模塊化和靈活性,大量應用PHP5面向對象新特性,遵循面向介面編程和單一對象職責原則,官方出品,自帶大量庫,架構優雅,執行效率適中,支持MVC設計,具備路由、緩存、資料庫操作等強大功能,文檔齊全。
優點:
缺點:
六、CakePHP
CakePHP最接近Ruby on Rails,採用設計優雅,無自帶多餘庫,執行效率不錯。資料庫操作的Active Record方式強大,路由配置難度適中,自動構建腳手架功能強大,支持MVC每一層,具備命令行腳本功能,文檔齊全,學習成本適中。
優點:
缺點:
七、Symfony
Symfony完整實現了MVC三層,封裝了所有功能,如POST/GET數據、異常處理、調試工具、數據檢測等,包含強大緩存功能,自動載入Class,支持多種語言,強大的視圖層操作,具備多層級項目和應用管理功能,擁有強大的命令行操作功能,是大型復雜項目首選,能夠減少開發成本,多人協作時不易出現問題。
優點:
缺點:
總評:
上述框架各有特色,均為開源項目,適用於不同規模的項目。一般來說:
項目選擇時需考慮框架的定製性和擴展性,以適應項目需求的變化。以上為PHP中常用的七種框架的詳細分析。欲了解更多內容,請關注PHP進階集中營。
Ⅲ PHP常用的框架有哪些
PHP常用框架有:
1.thinkphp: 國人開發, 文檔比較全,中文文檔。 入門比較簡單。 寫法快。
2. laravel : 國外人寫的, 入門門檻高。英語文檔 ,社區比較活躍。
3. symfony: 國外人寫的。 門檻比較高, 英語文檔。
4. yii: 國內人寫的,門檻較低。
想學習這些框架,可以去黑馬程序員看視頻,有thinkphp、laravel的框架學習視頻。