自接觸PHP開發以來,已使用了不少框架,雖然對每個框架都沒有專研至深,但對每一款所使用的PHP框架功能都有一些了解的。至此,本人將大家常用的一些PHP框架功能整理成表,希望對大家在選擇PHP框架時,可以做一定的參考。
php開發框架 和二次產品
國外的:wordpress drupal joomla 可以說是框架,還有ci框架,主要是wordpress和drupal多點,joomla也不少、。
國內的:thinkphp框架 dedecms phpcms discuz pbdigg 主要是dedecms和discuz康盛的產品最多
網上找的,不是原創。
Zend Framework
Zend Framework還相當新,尚處在beta階段(譯者注: 相對於作者寫這篇文章之時),因此還有些功能有待完整(比方說用戶驗證模塊),但它本身已經有不少功能了。盡管從對比表上來看它沒占到什麼便宜,可Zend Framework確確實實涵括了一些處理PDF文檔、RSS源、在線服務(Amazon, Flickr, Yahoo)的模塊,甚至更多。Zend Framework同時也包含了數個不同的數據庫對象,極大地便捷了對數據庫進行查詢的實現,甚至免去你手寫SQL查詢腳本的麻煩。
當前,Zend Framework並未完全支持ORM,但是開發人員仍然陷入在是否要添加ORM層的爭論中。也許在將來會實現這些功能,你就可以編寫自己的ORM封裝包,投稿到社區,並有機會將之整合入框架的未來版本。
Zend Framework看上去前途一片光明,而且它同時又修正了一些常見的PHP問題。也許穩定版本就可以在對比表裡面表現得更出色了!
CakePHP
CakePHP是一款高級的MVC框架,自帶了不多的幾個模塊。它可以處理大多數的數據庫事務,支持Ajax個數據驗證。同時,它的用戶驗證模塊(Accsee List)也非常獨特,可以針對不同的用戶在訪問網站不同部分時分配對應的訪問權限。
盡管CakePHP的網站看上去令人犯暈,但是框架本身已經比較完整可用了。截至成文尚未見穩定版本,實在令人感到有點意外,畢竟已經開發了好幾個月了,不過我猜想也許用beta版本來開發產品也未嘗不可吧(譯者注: Risk you @ss baby!)。
Symfony Project
從對比表中不難看出,Symfony是一款極具擴展性的開發框架,它甚至完整植入了一個叫做Propel的ORM,Propel也是開源項目,並且迄今為止可能是PHP上最好的ORM解決方案。Symfony同時還整合了用於數據庫抽象層的Creole和用於MVC模型層的Mojavi。由於它僅僅是重用了這些項目的源代碼,而非重寫,由此使得框架具備了極為強大的擴展性,這一點在表中昭然若是。
Symfony有兩個缺憾,以使它不支持PHP4,這是由於需要PHP5中很多新特性的支持的結果,二是相對來說它有點復雜了。大多數任務,比方像分頁,在Symfony中的時限比其他框架要復雜得多,這決不是一款簡潔著稱的框架。
Seagull Framework
Seagull framework看上去相當不錯,自帶了很多特性。支持PHP4也對它的推廣相當有利,我本人就仍在使用PHP4,況且大多數空間寄存商尚未全面支持PHP5。
不幸的是,Seagull沒有提供對Ajax的支持,實在有點說不過去,不過通過Google可以毫不費力地搜索到一篇自己添加Ajax支持的教程,而且這點在將來應該會添加到框架中。
WACT - Web Application Toolkit
WACT很有潛力,框架的基件它一應俱全,像MVC、數據庫對象和模板引擎,不過僅此而已。它沒有任何外掛模塊,同時也缺少一些內建的功能,例如Ajax、緩存、驗證模塊,等等。
盡管如此,WACT還是擁有最好的模板引擎,甚至可以幫助你創建自己的模板標簽來擴展功能。
Prado
Prado非常獨特,它提供了一些很酷的特性。它沒有內建對MVC的支持(就我看來),但是它確實擁有處理大多數PHP任務的各種各樣的組件,更棒的是,它實現了事件驅動腳本。例如,在一個HTML按鈕上設置onClick事件鏈接到一個PHP函數。......余下全文>>