當(dāng)前位置:首頁(yè) >  科技 >  IT業(yè)界 >  正文

Phpwind發(fā)布windframework開(kāi)源開(kāi)發(fā)框架

 2012-03-28 22:53  來(lái)源: 站長(zhǎng)網(wǎng)   我來(lái)投稿 撤稿糾錯(cuò)

  域名預(yù)訂/競(jìng)價(jià),好“米”不錯(cuò)過(guò)

今日,知名互聯(lián)網(wǎng)產(chǎn)品與服務(wù)提供商phpwind正式推出通用的php開(kāi)源技術(shù)框架‘windframework’。基于phpwind多年專(zhuān)注php開(kāi)發(fā)積累沉淀下來(lái)的技術(shù)和解決方案,windframework將為未來(lái)推出的phpwind下一代社區(qū)產(chǎn)品提供統(tǒng)一的應(yīng)用開(kāi)發(fā)架構(gòu)服務(wù)。而作為一款通用型的框架,windframework也將為開(kāi)發(fā)者提供更為簡(jiǎn)單、安全、擴(kuò)展性良好的應(yīng)用開(kāi)發(fā)支持。

phpwind旗下社區(qū)建站通用型程序phpwind,作為一款廣受站長(zhǎng)歡迎的產(chǎn)品,在國(guó)內(nèi)擁有廣泛的社區(qū)網(wǎng)站用戶,而通過(guò)此次底層開(kāi)發(fā)框架的統(tǒng)一和重構(gòu),將能為廣大開(kāi)發(fā)者提供輕盈,簡(jiǎn)潔的開(kāi)發(fā)框架,同時(shí)提供給基于此框架開(kāi)發(fā)產(chǎn)品以龐大的用戶基礎(chǔ)。
 




什么是windframework?

windframework是一個(gè)輕量級(jí)的php開(kāi)源框架,以組件工廠為核心,提供了像MVC、數(shù)據(jù)持久化、視圖模板引擎等應(yīng)用技術(shù)。此外windframework采取了一種組件化的開(kāi)發(fā)模式。雖然目前的組件庫(kù)還不算豐富健壯,但是基于這種開(kāi)發(fā)模式,使組件的擴(kuò)展變得非常的容易。windframework擁有一個(gè)強(qiáng)健的內(nèi)核,它實(shí)現(xiàn)了基于配置的Ioc控制反轉(zhuǎn)技術(shù)。開(kāi)發(fā)者只需要簡(jiǎn)單的配置,就可以實(shí)現(xiàn)類(lèi)的依賴注入,實(shí)現(xiàn)了類(lèi)與類(lèi)的完全松耦合。

Windframework由phpwind社區(qū)開(kāi)發(fā)團(tuán)隊(duì)自主研發(fā),2010年10月份開(kāi)始投入,目前為止已經(jīng)內(nèi)部發(fā)行了四個(gè)版 本。它源自phpwind社區(qū)產(chǎn)品的一次名為‘鵲橋’的重構(gòu)計(jì)劃。意在重新定義phpwind的架構(gòu)分層以及開(kāi)發(fā)模式,使其看起來(lái)更清晰,更易于擴(kuò)展和二次開(kāi)發(fā)。

據(jù)項(xiàng)目負(fù)責(zé)人吳瓊介紹,項(xiàng)目最開(kāi)始對(duì)windframework 的定位和設(shè)想是希望提煉phpwind社區(qū)產(chǎn)品的底層實(shí)現(xiàn)并對(duì)其進(jìn)行統(tǒng)一化部署;也是對(duì)phpwind產(chǎn)品中多年積累沉淀下來(lái)的技術(shù)和解決方案進(jìn)行整理重構(gòu),使其成為通用的標(biāo)準(zhǔn)化的工具/組件庫(kù)。后來(lái)windframework逐漸的發(fā)展成為了一個(gè)通用型的php框架,一個(gè)獨(dú)立的框架產(chǎn)品。它的定位和職責(zé)也越來(lái)越清晰:支撐了整個(gè)phpwind社區(qū)應(yīng)用的運(yùn)行,為它定義了統(tǒng)一規(guī)范的MVC流程,并提供強(qiáng)大的路由和視圖渲染能力,靈活的應(yīng)用部署方案等。windframework服務(wù)于phpwind社區(qū)產(chǎn)品,但也獨(dú)立于phpwind社區(qū)產(chǎn)品。

windfrmaework的特點(diǎn)

作為一個(gè)通用的php框架,windframework在公司內(nèi)部已經(jīng)發(fā)行至第四版并推廣使用,此次正式對(duì)外發(fā)布的版本,已經(jīng)有了多項(xiàng)的優(yōu)化和BUG修復(fù)。有很多新的項(xiàng)目基于windframework框架進(jìn)行開(kāi)發(fā),包括即將推出的phpwind最新社區(qū)版本和社區(qū)電子商務(wù)平臺(tái),都基于windframework框架基礎(chǔ)。在這個(gè)框架基礎(chǔ)上,開(kāi)發(fā)者進(jìn)行二次開(kāi)發(fā)和模板制作,將會(huì)更便捷和快速,而通過(guò)應(yīng)用中心phpwind將為開(kāi)發(fā)者提供更豐富更實(shí)用的應(yīng)用、模板庫(kù)。

Model-View-Controller(MVC)

wind框架提供了基礎(chǔ)的web mvc支持(參看組件包wind/web/)。wind mvc 基于框架核心技術(shù),提供了一種清晰的、松耦合的實(shí)現(xiàn)。它采用前端控制器模式,并支持強(qiáng)大的攔截過(guò)濾器鏈策略。使完全松耦合的方式集中化控制邏輯變的簡(jiǎn)單。除此以外,wind mvc 還提供了像‘模板驅(qū)動(dòng)’、‘請(qǐng)求重定向’等特性。

目錄路徑別名與import類(lèi)加載

wind框架可以將目錄路徑注冊(cè)到系統(tǒng)中,并為其定義使用別名。wind框架通過(guò)import方法加載類(lèi)(只支持類(lèi)加載),并提供autoload支持。通過(guò)路徑別名與import機(jī)制簡(jiǎn)化了路徑使用、工程部署,即用即加載的模式大大提高了類(lèi)加載的效率。

組件工廠機(jī)制

組件工廠機(jī)制是wind框架核心的基礎(chǔ)。它基于Ioc控制反轉(zhuǎn)和依賴注入的技術(shù)實(shí)現(xiàn),為整個(gè)框架提供了松耦合的組件管理機(jī)制,從程序邏輯中分離出類(lèi)的依賴關(guān)系和配置。組件工廠機(jī)制提供了豐富的特性支持:組件(創(chuàng)建、注銷(xiāo)、獲取)管理、多生命周期、配置解析管理、代理模式、lazy-init延遲加載等。通過(guò)組件工廠機(jī)制統(tǒng)一并簡(jiǎn)化了組件的開(kāi)發(fā)與使用。

視圖管理,多模板引擎支持

在wind框架強(qiáng)大的組件機(jī)制的基礎(chǔ)上,視圖管理提供了多模板引擎的支持。wind viewer組件包提供了'WindNormalViewerResolver'、'WindViewerResolver'兩個(gè)視圖渲染引擎。同時(shí)也支持第三方渲染引擎例如‘smarty’等??蚣苣J(rèn)采用'WindViewerResolver'進(jìn)行視圖渲染,該視圖渲染器支持模板編譯和標(biāo)簽擴(kuò)展。

主題與皮膚(themes)

wind框架中支持簡(jiǎn)單的主題與皮膚管理,通過(guò)為視圖設(shè)置主題,應(yīng)用可以輕松的實(shí)現(xiàn)多風(fēng)格的支持與切換。

模板視圖的布局管理(layout)

布局管理是通過(guò)為應(yīng)用定義布局模板文件,來(lái)實(shí)現(xiàn)可以模板的統(tǒng)一布局。 wind框架支持為整個(gè)應(yīng)用定義一種布局模板,也支持為每個(gè)操作定義不同的布局模板。默認(rèn)情況系統(tǒng)不開(kāi)啟布局管理的,可以通過(guò)設(shè)置布局文件開(kāi)啟布局管理。

模板標(biāo)簽支持

wind框架默認(rèn)采用了‘WindViewerResolver’視圖渲染器,這個(gè)視圖渲染器支持模板編譯以及基于配置的自定義標(biāo)簽擴(kuò)展。開(kāi)發(fā)者可以根據(jù)需求,自定義模板標(biāo)簽。wind框架默認(rèn)實(shí)現(xiàn)了幾種常用標(biāo)簽:action、echo、lang、template、token等。

數(shù)據(jù)輸出安全過(guò)濾及數(shù)據(jù)格式化支持

基于模板標(biāo)簽體系,wind框架實(shí)現(xiàn)了強(qiáng)大的數(shù)據(jù)輸出支持:安全輸出過(guò)濾、數(shù)據(jù)格式化等?;谶@個(gè)特性,開(kāi)發(fā)者可以方便的在頁(yè)面以想要的格式進(jìn)行變量輸出,而無(wú)需擔(dān)心安全問(wèn)題以及數(shù)據(jù)格式化問(wèn)題。

Cache

wind框架默認(rèn)提供了cache組件和cache支持。cache組件采用了面向接口的組件設(shè)計(jì)思路,為cache使用者提供標(biāo)準(zhǔn)的cache接口定義,以及多種cache方案的實(shí)現(xiàn)。

DB

簡(jiǎn)單高效的數(shù)據(jù)持久層方案‘WindConnection’,這是一個(gè)基于PDO的數(shù)據(jù)持久化解決方案。它支持‘WindConnection’簡(jiǎn)單鏈接、‘WindConnectionManager’分布式鏈接管理兩種鏈接模式。兩種方案可以實(shí)現(xiàn)無(wú)縫的切換。

請(qǐng)求的預(yù)處理與后處理(filter chain)

wind框架采用了攔截過(guò)濾器模式,對(duì)請(qǐng)求的預(yù)處理和后處理進(jìn)行了攔截和策略部署支持。開(kāi)發(fā)者可以基于配置很方便的使用該特性在請(qǐng)求的預(yù)處理或后處理位置添加、刪除、修改控制邏輯代碼。

路由協(xié)議鏈,多路由協(xié)議支持

路由是wind mvc模式中的重要組件,wind框架提供了路由支持,它采用過(guò)濾鏈的模式來(lái)實(shí)現(xiàn),一個(gè)路由器可以掛載多種路由協(xié)議。程序會(huì)根據(jù)掛載的順序,依次去加載路由協(xié)議,直到找到可以處理當(dāng)前請(qǐng)求的路由協(xié)議。

Form表單對(duì)象&驗(yàn)證

web mvc 默認(rèn)提供了對(duì)表單處理的支持。開(kāi)發(fā)者可以為一次請(qǐng)求創(chuàng)建一個(gè)表單對(duì)象,系統(tǒng)將會(huì)在處理具體的操作前初始化這個(gè)表單對(duì)象以及完成表單驗(yàn)證等工作。開(kāi)發(fā)者無(wú)需在代碼邏輯里面操作大量的表單數(shù)據(jù)的賦值驗(yàn)證,簡(jiǎn)化了開(kāi)發(fā)。

ErrorHandler自定義錯(cuò)誤處理句柄

自定義錯(cuò)誤句柄是web mvc提供的又一個(gè)特性支持。wind框架默認(rèn)為mvc提供了錯(cuò)誤處理句柄‘WindErrorHandler’,默認(rèn)的錯(cuò)誤頁(yè)面指向‘web/view’。開(kāi)發(fā)者可以通過(guò)應(yīng)用配置來(lái)指向自定義的錯(cuò)誤處理句柄,可以為每一個(gè)module定義‘ErrorHandler’,也可以為每一個(gè)action自定義‘ErrorHandler’。wind框架在自定義配置上提供了強(qiáng)大且靈活的支持。

異常體系與Logger日志

兩種基本的異常類(lèi)型:‘WindFinalException’、‘WindException’。前者是終極異常,拋出該類(lèi)異常表示不希望異常被系統(tǒng)處理而直接拋出;后者是通用異常類(lèi)型,大部分自定義異常都需要繼承該異常類(lèi)型,該異常會(huì)被系統(tǒng)的錯(cuò)誤體系處理。Logger組件,通過(guò)調(diào)用Logger組件開(kāi)發(fā)者可以很方便的輸出log信息,支持分類(lèi)、分組輸出。目前只支持本地化的文件log記錄。

多種開(kāi)發(fā)模式支持WIND_DEBUG

WIND_DEBUG支持多種模式:window、log、window&log。開(kāi)發(fā)者可以通過(guò)設(shè)置‘WIND_DEBUG’這個(gè)常量的值定義wind的工作模式。

國(guó)際化(i18n)

簡(jiǎn)單的國(guó)際化支持:變量、語(yǔ)言模板等。

安全(security)

輸入輸出安全過(guò)濾,通過(guò)內(nèi)置在相應(yīng)的組件管理中,透明化了對(duì)數(shù)據(jù)安全的處理。wind框架還提供了security安全工具包例如:加密、解密、token等。

申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

相關(guān)文章

  • PHP5停更,中企動(dòng)力為你保駕護(hù)航

    這兩天你們都心慌慌,為什么?因?yàn)槭忻嫔系腜HP5將于年底停止更新,六成用戶將面臨安全風(fēng)險(xiǎn)。筆者我只能說(shuō),這次絕對(duì)穩(wěn)了!因?yàn)檫@些語(yǔ)言跟我們沒(méi)關(guān)系,詳細(xì)了解下中企的技術(shù)實(shí)力!

  • PHP開(kāi)發(fā)者的Linux學(xué)習(xí)之路

    談起一個(gè)高效動(dòng)態(tài)網(wǎng)站的構(gòu)建,那就不得不提到LAMP,即Linux操作系統(tǒng)、Apache網(wǎng)絡(luò)服務(wù)器、Mysql數(shù)據(jù)庫(kù)、Perl、PHP或Python編程語(yǔ)言等開(kāi)源產(chǎn)品所組成的網(wǎng)站架構(gòu)框架,其最大的優(yōu)勢(shì)是開(kāi)放性強(qiáng),安全性高,且成本低廉。因此,LAMP成為了國(guó)際流行的網(wǎng)站構(gòu)建方案。而作為一名php開(kāi)發(fā)人員

    標(biāo)簽:
    php開(kāi)發(fā)工具
  • phpwind移動(dòng)社區(qū)產(chǎn)品將于3月12日發(fā)布 功能將全面開(kāi)放

    A5站長(zhǎng)網(wǎng)(admin5.com)2月26日消息,在經(jīng)歷了第一批次的測(cè)試、收集bug、并作出相應(yīng)調(diào)整之后,PW移動(dòng)社區(qū)已經(jīng)終止第二次測(cè)試,并將于3月3日發(fā)布更新版本之后,重新開(kāi)放測(cè)試。3月12日,phpwind將正式發(fā)布移動(dòng)社區(qū)產(chǎn)品,屆時(shí),當(dāng)前所有未開(kāi)放的功能將全面開(kāi)放。關(guān)于phpwindphpwi

  • phpwind推出一鍵部署服務(wù),移動(dòng)端產(chǎn)品即將發(fā)布測(cè)試

    A5站長(zhǎng)網(wǎng)(admin5.com)1月7日消息,卷土重來(lái)的phpwind在過(guò)去的兩個(gè)月,陸續(xù)更新了原有社區(qū)系統(tǒng)版本,并基于阿里云鏡像產(chǎn)品推出了無(wú)需安裝、快速發(fā)布社區(qū)站點(diǎn)的一鍵部署服務(wù)。引發(fā)遐想的移動(dòng)端APP產(chǎn)品,據(jù)悉也將于近期啟動(dòng)內(nèi)測(cè)。自去年11月官方宣布恢復(fù)運(yùn)營(yíng)后,phpwind首先對(duì)原有的社區(qū)系

    標(biāo)簽:
    phpwind
  • Phpwind卷土重來(lái)?發(fā)力移動(dòng)社區(qū) 將全新恢復(fù)運(yùn)營(yíng)

    A5站長(zhǎng)網(wǎng)(admin5.com)11月7日消息,“已經(jīng)解散”的開(kāi)源社區(qū)軟件phpwind,近日在官方微博發(fā)布消息稱,將整裝、全面恢復(fù)社區(qū)產(chǎn)品運(yùn)營(yíng)之路,官方表示,即將上線的phpwind移動(dòng)社區(qū),不僅僅是傳統(tǒng)PC端社區(qū)的移動(dòng)化遷移,更是符合用戶移動(dòng)端應(yīng)用需求的社交化APP產(chǎn)品。被阿里巴巴收購(gòu),之后甚

熱門(mén)排行

信息推薦