亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于ThinkPHP 與ZendAMF 框架的Flex 開發(fā)

        2012-09-12 01:01:06林文如
        重慶高教研究 2012年5期
        關(guān)鍵詞:服務(wù)端控件視圖

        劉 鐳,林文如

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

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

        1 開發(fā)框架簡介

        ThinkPHP是一個免費開源的、快速簡單的、面向?qū)ο蟮妮p量級PHP開發(fā)框架,遵循Apache2開源協(xié)議發(fā)布,是為了敏捷Web應(yīng)用開發(fā)和簡化企業(yè)應(yīng)用開發(fā)而誕生的,并且集成了許多第三方類庫[3].

        AMF協(xié)議是Adobe公司的Action Message Format協(xié)議的簡稱[4],主要用于數(shù)據(jù)交互和遠(yuǎn)程過程調(diào)用,在功能上與WebService相當(dāng),但AMF與WebService中的XML不同,AMF是二進(jìn)制數(shù)據(jù),而 XML是文本數(shù)據(jù),AMF的傳輸效率比XML高[5].本文所整合的是基于 AMF協(xié)議的ZendAMF,該框架在執(zhí)行效率、穩(wěn)定性各方面均有較大優(yōu)勢.

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

        2 開發(fā)框架整合

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

        2.1 整合思路及方法

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

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

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

        整合3個框架的思路是:將3個框架各自的優(yōu)點抽取出來,分別扮演M(模型)、V(視圖)、C(控制器)的角色,即ThinkPHP扮演控制器及模型的角色,ZendAMF扮演控制器網(wǎng)關(guān)的角色,F(xiàn)lex扮演視圖的角色.

        2.2 整合后的開發(fā)框架

        根據(jù)以上分析的結(jié)果,整合后的開發(fā)框架如圖1所示.

        圖1 框架整合圖

        如圖1所示,整合后的框架使用Flex來代替ThinkPHP的視圖(View)部分,F(xiàn)lex負(fù)責(zé)前端的用戶交互,ThinkPHP負(fù)責(zé)服務(wù)端的業(yè)務(wù)邏輯(Controller)和數(shù)據(jù)處理(Model),ZendAMF的AMF網(wǎng)關(guān)負(fù)責(zé)架起Flex與ThinkPHP之間通信的橋梁,通信的方式為Remote Object.用Remote Object格式來傳遞數(shù)據(jù),適用于大數(shù)據(jù)量通信的PRC服務(wù).

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

        3 應(yīng)用實例

        3.1 實例概述

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

        3.2 開發(fā)環(huán)境

        在Windows平臺下,使用如下開發(fā)環(huán)境: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 實例實現(xiàn)

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

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

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

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

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

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

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

        運行結(jié)果如圖2所示,當(dāng)點擊按鈕時,觸發(fā)請求,通過 ZendAMF的網(wǎng)關(guān),我們成功地用ThinkPHP強(qiáng)大的數(shù)據(jù)模型功能獲得服務(wù)器數(shù)據(jù),最終返回給Flex顯示.

        圖2 運行界面

        4 對比分析

        在進(jìn)行對比分析之前,首先給出傳統(tǒng)方法和本文方法的技術(shù)簡明表,如表1所示.

        表1 兩種開發(fā)方案的技術(shù)簡明表

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

        4.1 開發(fā)效率對比

        從表2可以看出,模塊代碼行與模塊開發(fā)時間的對比上,本文的方法都明顯優(yōu)于傳統(tǒng)的方法.注:代碼行的區(qū)別主要體現(xiàn)在服務(wù)端PHP的代碼量.

        表2 開發(fā)效率對比表

        4.2 請求響應(yīng)時間對比

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

        表3 請求響應(yīng)時間對比表

        5 結(jié)語

        綜上所述,使用ThinkPHP強(qiáng)大的數(shù)據(jù)操作和模型的功能,通過ZendAMF的通信,可為Flex提供遠(yuǎn)程數(shù)據(jù)調(diào)用服務(wù),而Flex強(qiáng)大的富客戶端技術(shù)又彌補(bǔ)了ThinkPHP中視圖(View)的不足.本文的方法綜合了3者的優(yōu)勢,為敏捷式企業(yè)級應(yīng)用開發(fā)提供了一個較好的技術(shù)解決方案.

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

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

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

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

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

        猜你喜歡
        服務(wù)端控件視圖
        關(guān)于.net控件數(shù)組的探討
        軟件(2018年7期)2018-08-13 09:44:42
        云存儲中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
        新時期《移動Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
        5.3 視圖與投影
        在Windows Server 2008上創(chuàng)建應(yīng)用
        視圖
        Y—20重型運輸機(jī)多視圖
        SA2型76毫米車載高炮多視圖
        就這樣玩會VBA中常見的自定義控件
        電腦迷(2012年24期)2012-04-29 00:44:03
        “鴿子”玩升級 黑你沒商量
        亚洲av无码av制服另类专区| 亚洲啪啪色婷婷一区二区| 成人偷拍自拍视频在线观看| 国产伦精品一区二区三区妓女| 久久久久99精品国产片| 青榴社区国产精品| 日韩精品免费在线视频一区| 成 人 免 费 黄 色| 99精品视频在线观看免费| 欧美丝袜激情办公室在线观看| 久久国产精品免费专区| 97精品人人妻人人| 亚洲另类自拍丝袜第五页 | 亚洲精品无码乱码成人| 毛片无码高潮喷白浆视频| 色综合久久人妻精品日韩| 精品亚洲麻豆1区2区3区| 越南女子杂交内射bbwxz| 99综合精品久久| 蜜臀av在线一区二区尤物| 国产老熟女网站| 亚洲中文字幕第一页在线| 人妻少妇喷水意淫诱惑| 国产亚洲精品品视频在线| 爽爽精品dvd蜜桃成熟时电影院| 国产精品短视频| 亚洲一区二区三区亚洲| 久久99精品久久久大学生| www国产精品内射熟女| 亚洲成AV人在线观看网址| 三级日韩视频在线观看| 激情综合色综合久久综合| 无码片久久久天堂中文字幕| 久久久久99精品成人片试看| 亚洲av激情久久精品人| 国产伦一区二区三区色一情| 99精品国产在热久久| 国产成人亚洲精品电影| 国产精品高清国产三级国产av | 亚洲国产美女精品久久久| 久久精品熟女不卡av高清|