999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ThinkPHP 與ZendAMF 框架的Flex 開發

2012-09-12 01:01:06林文如
重慶高教研究 2012年5期
關鍵詞:方法模型

劉 鐳,林文如

(1.福建師范大學信息技術學院,福建 福州 350007;2.閩江學院計算機科學系,福建 福州 350108)

從MVC的角度看,Flex只是一個客戶端表現層(即View),要真正地實現數據處理,就必須與服務端程序進行交互[1].在Flex中運用ZendAMF框架進行通信的應用研究較少[2].本文將研究和探討在ThinkPHP中整合ZendAMF框架的方法和實例,為基于Flex的富客戶端應用提供數據交互的能力.

1 開發框架簡介

ThinkPHP是一個免費開源的、快速簡單的、面向對象的輕量級PHP開發框架,遵循Apache2開源協議發布,是為了敏捷Web應用開發和簡化企業應用開發而誕生的,并且集成了許多第三方類庫[3].

AMF協議是Adobe公司的Action Message Format協議的簡稱[4],主要用于數據交互和遠程過程調用,在功能上與WebService相當,但AMF與WebService中的XML不同,AMF是二進制數據,而 XML是文本數據,AMF的傳輸效率比XML高[5].本文所整合的是基于 AMF協議的ZendAMF,該框架在執行效率、穩定性各方面均有較大優勢.

Flex是一個高效、免費的開源框架,可用于構建具有表現力的Web應用程序.這些應用程序利用 Adobe Flash Player和 Adobe AIR,運行時跨瀏覽器、桌面和操作系統,實現一致的部署.

2 開發框架整合

如上所述,ThinkPHP、ZendAMF、Flex三者之間具有各自的優勢,那么如何整合3個框架,為企業級應用提供一種敏捷的開發方案,是一個急需解決的技術問題.

2.1 整合思路及方法

ThinkPHP是一個服務端開發框架,封裝了CURD和一些常用操作,在查詢語言、自動驗證、視圖模型等方面均有獨特的表現,即在設計控制器(Controller)與模型(Model)方面具有很強的處理能力,但富客戶端界面視圖(View)方面的表現則不盡如人意.

ZendAMF也是一個服務端開發框架,本身并沒有處理客戶端界面視圖方面的能力,但它內置了Flash對象,可以將服務端的Object、Array、Date、XML等數據傳回服務器端,在服務器端自動解析成適當的對象,這就減輕了開發人員繁復的工作負擔,同時也節省了開發時間.

Flex是一個富客戶端開發框架,先天就缺少服務端控制器、模型方面的能力,但在界面視圖方面卻有獨具一面的優勢.

整合3個框架的思路是:將3個框架各自的優點抽取出來,分別扮演M(模型)、V(視圖)、C(控制器)的角色,即ThinkPHP扮演控制器及模型的角色,ZendAMF扮演控制器網關的角色,Flex扮演視圖的角色.

2.2 整合后的開發框架

根據以上分析的結果,整合后的開發框架如圖1所示.

圖1 框架整合圖

如圖1所示,整合后的框架使用Flex來代替ThinkPHP的視圖(View)部分,Flex負責前端的用戶交互,ThinkPHP負責服務端的業務邏輯(Controller)和數據處理(Model),ZendAMF的AMF網關負責架起Flex與ThinkPHP之間通信的橋梁,通信的方式為Remote Object.用Remote Object格式來傳遞數據,適用于大數據量通信的PRC服務.

框架的操作流程為:Flex客戶端通過ZendAMF網關向ThinkPHP控制器發送請求,Think-PHP控制器根據接收到的請求命令向ThinkPHP模型發送數據處理指令,ThinkPHP模型通過ThinkPHP內置的數據庫接口向數據庫請求數據,數據庫返回的數據通過上述路線原路返回給Flex客戶端界面.

3 應用實例

3.1 實例概述

為了簡明扼要地介紹3種框架整合技術的實現,又不失一般性,本實例將實現一個簡單的留言板功能模塊,包括寫留言、查看留言2項操作.

3.2 開發環境

在Windows平臺下,使用如下開發環境:Apache 2.2.17+PHP5.3.3+MySQL5.5.8+ThinkPHP2.1+ZendAMF 1.1.1+ZendStudio 9.0.1+Adobe Flash Builder 4.5.

3.3 實例實現

數據庫設計:在MySQL數據庫中新建一個表guestbook,包括 3 個字段:id、title、content.

在ZendStudio中新建一個本地PHP項目guestbook,系統自動在web服務器的根目錄下建立一個guestbook文件夾及index.php等文件,將ThinkPHP框架目錄復制到guestbook文件夾內,并在項目根目錄下新建一個www文件夾.

將ZendAMF框架復制到ThinkPHPVendor目錄下(注:ThinkPHP完整版中包含的 Zend-Framework已經包含了 ZendAMF).打開 index.php文件,ThinkPHP的入口文件一般寫法如下:

打開瀏覽器,在瀏覽器地址欄中輸入 http://localhost/guestbook,回車執行,若未提示錯誤,則表示ThinkPHP框架已經配置成功.在wwwLibAction下新建一個控制器,名為GbAction.class.php的文件,主要代碼為:

在wwwLibAction下新建一個控制器,名為 GatewayAction.class.php 的文件,代碼如下:

打開瀏覽器,在瀏覽器中輸入網址http://localhost/guestbook/index.php/Gateway/,回車執行,若瀏覽器中返回的結果顯示“Zend Amf Endpoint”或者提示下載 gateway文件的話,表明ZendAMF配置成功,并且與ThinkPHP整合成功.

在Flash Builder中新建一個Flex項目,在窗口中增加2個Button控件,1個DataGrid控件(id=dg),1個 TextInput控件,1個 TextArea控件.由于篇幅關系,本文只列出“查看全部留言”按鈕的實現代碼,主要代碼如下:

運行結果如圖2所示,當點擊按鈕時,觸發請求,通過 ZendAMF的網關,我們成功地用ThinkPHP強大的數據模型功能獲得服務器數據,最終返回給Flex顯示.

圖2 運行界面

4 對比分析

在進行對比分析之前,首先給出傳統方法和本文方法的技術簡明表,如表1所示.

表1 兩種開發方案的技術簡明表

針對留言板功能模塊,分別使用上述2種方法進行了開發,運行在相同的服務器及客戶端環境下,下面將從開發效率、請求響應時間兩方面進行對比分析.

4.1 開發效率對比

從表2可以看出,模塊代碼行與模塊開發時間的對比上,本文的方法都明顯優于傳統的方法.注:代碼行的區別主要體現在服務端PHP的代碼量.

表2 開發效率對比表

4.2 請求響應時間對比

從表3可以看出,在小數據量方面,兩種方法的請求響應時間基本一樣,無明顯差別.但對于請求大數據的時候,本文方法的請求響應時間明顯優于傳統的方法.注:請求響應時間包括加載、初始化、執行和模板的響應時間.

表3 請求響應時間對比表

5 結語

綜上所述,使用ThinkPHP強大的數據操作和模型的功能,通過ZendAMF的通信,可為Flex提供遠程數據調用服務,而Flex強大的富客戶端技術又彌補了ThinkPHP中視圖(View)的不足.本文的方法綜合了3者的優勢,為敏捷式企業級應用開發提供了一個較好的技術解決方案.

[1]吳波.Flex異步通信方式的比較[J].廣播與電視技術,2012(2):133-138.

[2]徐英鐘,陳文竹,張凌霄.基于Flex與PHP的MVC框架整合應用研究[J].計算機光盤軟件與應用,2010(4):108-109.

[3]Thinkphp團隊.ThinkPHP簡介[Z/OL].(2010-03-09)[2012 -05 -07].http://www.thinkphp.cn/about.html,2008.

[4]易學武.Net平臺下的AMF開發[J].電腦知識與技術,2010,6(23):6615 -6617,6520.

[5]陳顯軍,魏祖寬.基于Flex的XML數據通信與應用研究[J].計算機與現代化,2008(3):112-114.

猜你喜歡
方法模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
學習方法
3D打印中的模型分割與打包
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 欧美日韩综合网| 亚洲无码精品在线播放| 亚洲人成网站在线观看播放不卡| 亚洲成人在线网| 久久精品人人做人人| 亚洲成人在线网| 欧美日韩国产精品综合| 国产在线视频欧美亚综合| 69国产精品视频免费| 国产第四页| 亚洲熟女中文字幕男人总站| 国产精品亚洲va在线观看| 国产精品免费电影| 鲁鲁鲁爽爽爽在线视频观看| 亚洲第一网站男人都懂| 国产日本欧美亚洲精品视| 欧美精品另类| 日本一区中文字幕最新在线| 国产主播喷水| 72种姿势欧美久久久大黄蕉| 亚洲欧美另类色图| 精品三级在线| 四虎成人免费毛片| 日韩AV无码一区| 九色国产在线| 国产精品性| 久久人体视频| 亚洲无码视频一区二区三区| 亚洲欧美另类中文字幕| 国产微拍精品| 国产一区二区精品高清在线观看 | 国产在线一区二区视频| 国产成人综合久久精品尤物| 午夜在线不卡| 欧美亚洲激情| 一本大道东京热无码av| 免费一级无码在线网站| 国产亚洲欧美另类一区二区| 一本大道视频精品人妻| 欧美三级不卡在线观看视频| 成年人视频一区二区| 欧美成人手机在线视频| 国产亚洲视频中文字幕视频| 天天色天天操综合网| 青草午夜精品视频在线观看| 美女高潮全身流白浆福利区| 91精品久久久无码中文字幕vr| 456亚洲人成高清在线| 丁香婷婷激情网| 一区二区日韩国产精久久| 色噜噜狠狠狠综合曰曰曰| 一区二区影院| 极品私人尤物在线精品首页| 99无码中文字幕视频| 色婷婷电影网| 欧美劲爆第一页| 国内精品久久久久鸭| 无码中文字幕乱码免费2| av尤物免费在线观看| 无码精品国产dvd在线观看9久 | 内射人妻无码色AV天堂| 国产三级毛片| 青草91视频免费观看| 久久a级片| 国产日韩精品欧美一区喷| 日韩精品资源| 欧美伊人色综合久久天天| 中国国产A一级毛片| 亚洲中文字幕久久精品无码一区| 日韩免费成人| 亚洲av日韩av制服丝袜| 九色综合伊人久久富二代| 69av在线| 欧美在线黄| 亚洲精品日产精品乱码不卡| 亚洲综合中文字幕国产精品欧美| 亚洲成肉网| 日韩av在线直播| 欧美在线黄| аⅴ资源中文在线天堂| 国产一区二区福利| 国产一区二区精品福利|