ThinkPHP是一個開源的PHP框架,是為了簡化企業級應用開發和敏捷Web應用開發而誕生的。
ThinkPHP早期的思想架構來源於Struts,後來經過不斷改進和完善,同時也借鑑了國外很多優秀的框架和模式,使用物件導向的開發結構和MVC模式,融合了Struts的Action和Dao思想、JSP的TagLib(標籤庫)、RoR的ORM對映和ActiveRecord模式,封裝了CURD和一些常用操作,單一入口模式等,在模版引擎、快取機制、認證機制和擴充套件性方面均有獨特的表現。
我們採訪了ThinkPHP專案的創始人和核心開發者劉晨,請他來詳細介紹這一框架。
CSDN:ThinkPHP專案是怎麼誕生的?
劉晨:其實我03年的時候接觸過一年多的PHP開發工作,然後後來從事J2EE開發,在深圳市委專案組做了一年多,發現如果用PHP來開發會簡單很多,於是06年初自己寫了一個簡單的PHP框架(那個時候叫FCS),在我的部落格發表,也就是ThinkPHP的前身,後來使用者群大了之後,覺得應該有一個更明確的定位,在07年正式更名為ThinkPHP,後來完善ThinkPHP框架的初衷,一半是興趣一半是用於自己的一些專案需要。
ThinkPHP釋出至今,“簡單、快速開發”的原則一直沒有變化。
CSDN:ThinkPHP提供了哪些功能?能夠幫助開發者解決實際開發中的哪些問題?
劉晨:ThinkPHP提供了完整的MVC解決方案,所以熟悉ThinkPHP後可以不依賴其他第三方的模版引擎和ORM,然後就是底層的統一處理和安全過濾,以及對多資料庫的支援。
CSDN:與其他類似PHP框架相比,ThinkPHP有哪些獨創的特性?效能上ThinkPHP表現如何?
劉晨:ThinkPHP經歷了7年多的發展和積累後,形成了自己的一些特色和創新,包括:
基於XML和標籤庫擴充套件的編譯性模版引擎;人性化和強大的ORM和查詢語言;檢視模型的引入;專案編譯;對SAE的平滑和橫跨支援;還有就是一系列單字母大寫函式(哈哈,不得不說,它流行了)。
至於效能方面,我們每釋出一個新版本都有所改進,網上也有很多的評測資料,而且我們也有不同的模式擴充套件處理不同的場景需要,所以說“效能不是問題”。
CSDN:就您所知,目前有多少專案基於ThinkPHP框架開發?
劉晨:2008年ThinkPHP釋出了2.0版本以後,使用者規模和專案使用開始快速增長,我們也經常在社群聽到某某網站也是用ThinkPHP開發的聲音,這些案例不乏一些大的IT公司和知名企業,如果用搜尋引擎搜尋相關資訊的話,可以搜到很多,事實上,很多時候我訪問的一些新的網站,有大概不到三分之一的情況是基於ThinkPHP某個版本開發的。
CSDN:ThinkPHP專案核心開發人員有哪些?是否有社群人員參與貢獻?你們是如何進行分工或協作的?
劉晨:我們的核心開發人員包括公司成員和社群成員,有10來個吧,有些使用者是階段性參與,參與貢獻的社群人員就多了,協作的話核心成員有專門的群,社群的貢獻主要是官網和Github了。
CSDN:ThinkPHP下一步的計劃和目標是什麼?
劉晨:ThinkPHP除了會不斷努力完善框架之外(今年下半年應該會有新的版本出來),也希望能整合所有的ThinkPHP使用者資源形成一個平臺或者說生態,除了完善ThinkPHP配套之外,一起來推動Web應用快速開發。
CSDN:對於國內的開源專案如何實現盈利,您有什麼建議?
劉晨:國內的開源專案盈利狀況非常艱難,而且要做好服務更難,但這是將來實現盈利模式的前提。專案開源、服務收費——我想這應該是很多開源專案的盈利模式吧,但是這個需要一定的使用者積累。
CSDN:ThinkPHP專案已經託管在CSDN Code平臺上了,經過這一段時間的使用,您認為Code平臺還需要在哪些方面進行改進?
劉晨:基本上,在選擇託管到Code平臺之前,我們已經初步進行過評估,覺得無論從使用者體驗和速度方面,都還不錯,我們也非常願意支援國內的託管平臺。
我個人覺得,託管平臺速度和穩定最重要,畢竟很多時候都是在本地操作為主,所以,如果將來可能的話,也希望CSDN能開發一個本地的客戶端工具來管理和維護Code平臺的專案。
CSDN:對於此次“開源中國開源世界高峰論壇”和“開源群英會2013”,您有什麼建議?
劉晨:說實話,我出席這樣的大會不多,這次也主要是想過來學習和交流下,有想到的建議的話我會及時反饋的。
CSDN:您希望在大會上見到誰?您想聽到的分享話題是什麼?您想與其他開發者討論的話題是什麼?
劉晨:既然是CSDN組織的開源大會,作為一個開源業者,我關心的是CSDN如何來給開源作者創造好的生態以及發展機會。
和其他開源開發者討論的話題我想應該是分享經驗和探討模式吧。
摘自 CSDN