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

基于ThinkPHP模型的敏捷WEB開發的應用與實踐

2016-05-30 15:02:34張文勝陳宏
軟件工程 2016年3期

張文勝 陳宏

摘 要:近年來,隨著網絡的普及和WEB應用需求的增加,敏捷的WEB開發的應用成為研究領域的熱點之一。本文以ThinkPHP框架技術為基礎,使用敏捷的WEB開發流程和方法,完成了新聞信息發布系統的整體設計和實現。最后,探討了未來的研究趨勢。

關鍵詞:ThinkPHP;敏捷開發;WEB開發

中圖分類號:TP311 文獻標識碼:A

Abstract:In recent years,with the increasing popularity of the network and WEB application requirements,agile development of the WEB application has become one of the hot research field.This paper is based on the ThinkPHP framework,using the WEB development process and agile methods,completed the design and implementation of information publishing system.Finally,future research trends are discussed.

Keywords:ThinkPHP;agile development;WEB development

1 引言(Introduction)

目前,隨著網絡的普及,網站和Web應用程序開發的需求在不斷擴大,用戶體驗要求也越來越高。如果大家都是需要自我開發一套Web應用系統,則存在成本高、沒有技術力量,維護不方便等問題。所以,如果可以開發一套Web應用系統模型,將一次性源碼交付客戶,讓客戶擁有自己的Web應用平臺,則操作相對簡單,在功能上也可自主靈活修改,這樣就能很好的解決用戶所面臨的問題[1]。

MVC模式(Model-View-Controller)是一種應用廣泛的開發模式,能夠解決團隊開發之間分工協作、協同配合的問題,最優化系統各部件的開發效率。MVC模式將管理系統分為三大部件,分別為模型、視圖和控制器。這三大部件各自分離,但又相互依存,最終形成了一個容易維護、容易擴展、高效運行的管理系統平臺。對于后臺程序員,借助于MVC模式就可以更加專注于業務流程和功能的實現,而不需要太多地涉及頁面與前端。這種分工協作的最終目的是提高開發效率及項目質量[2]。

ThinkPHP框架是為了敏捷WEB應用開發和簡化開發者應用而設計的,是基于MVC結構的開源PHP框架,ThinkPHP一直秉承實用簡潔的設計思想,發揮開源和社區團隊的優勢,不斷優化和改進,在易用性、擴展性和性能方面均有較好表現,已經成長為國內領先和具有影響力的敏捷的WEB應用開發框架,已被大量應用于商業以及門戶級網站的開發[3]。

本文以新聞信息發布系統為例,給出了基于ThinkPHP模型的敏捷WEB開發的設計思想及其開發流程,并使之在目錄結構和代碼上標準化和規范化,提高模塊的復用性,使開發者專注于業務流程的設計,減輕在編寫界面、組織代碼等重復性的工作上的負擔。

2 ThinkPHP MVC設計思想和開發流程(ThinkPHP MVC design and development process)

2.1 ThinkPHP MVC設計思想

ThinkPHP是基于MVC設計模式的,且均支持多層(multi-Layer)設計。ThinkPHP中的MVC分層大致體現為:

模型(Model)層:默認的模型層由Model類構成,但是隨著項目的增大和業務體系的復雜化,單一的模型層很難解決要求,從3.1版本開始推出了多層Model的支持,設計思路很簡單,不同的模型層仍然都繼承自系統的Model類。

控制器(Controller)層:ThinkPHP的控制器層由核心控制器和業務控制器組成,核心控制器由系統內部的App類完成,負責應用(包括模塊和操作)的調度控制,包括HTTP請求攔截和轉發、加載配置等,業務控制器則由用戶定義的Action類完成。3.1版本開始增加了多層業務控制器的支持。

視圖(View)層:由模板和模板引擎組成,在模板中可以直接使用PHP代碼,模板引擎的設計會在后面講述,通過驅動也可以支持其他第三方的模板引擎。

在MVC三層中,ThinkPHP并不依賴M或者V,甚至可以只有C或者只有V,這個在ThinkPHP的設計里面是一個很重要的用戶體驗設計,用戶只需要定義視圖,在沒有C的情況下也能自動識別[4]。

2.2 ThinkPHP開發流程

使用ThinkPHP創建應用的一般開發流程是[5]:

(1)創建數據庫和數據表(沒有數據庫操作可略過)。

(2)項目命名并創建項目入口文件。

(3)完成項目配置。

(4)創建控制器類。

(5)創建模型類,如果只是簡單的模型類可以不必創建。

(6)創建模板文件。

(7)運行和調試。

2.3 ThinkPHP目錄結構各個文件夾的含義[6]

ThinkPHP的目錄結構非常清晰和容易部署,目錄結構的內容和說明如表1所示。

3 基于ThinkPHP模型的敏捷WEB開發的應用(The application of ThinkPHP model of agile development based on WEB)

3.1 應用程序的模型描述

首先,設計一個模型(M),模型的定義由Model類完成,該類完成了基本的CURD、ActiveRecord模式、連貫操作和統計查詢等。Model類位于項目目錄下面的/Lib/Model目錄。

其次,設計控制器(C),應用控制器(核心控制器)和Action控制器都承擔了控制器的角色。核心控制器由系統內部的App類完成,負責應用(包括模塊和操作)的調度控制,包括HTTP請求攔截和轉發、加載配置等,業務控制器則由用戶定義的Action類或者其他控制器類完成。Action控制器位于項目目錄下面的/Lib/Action目錄。

最后,完成視圖設計(V),視圖主要就是指模板文件和模板引擎,模板的實現和框架無關,可以獨立制作和預覽。模板位于項目目錄下面的/Tpl目錄。

模型調用關系描述如圖1所示。

3.2 構建應用程序的結構

在使用應用架構創建應用時,使用統一的命名規范和目錄結構,規定所有類文件都放至Lib目錄下。在該目錄下,可根據分別建立Action、Model、Behavior和Widget等四個子目錄。項目文件夾的命名約定見2.3節,這樣就把對視圖界面、交互邏輯和數據的處理清晰地分開,便于對應用進行管理和優化。目錄結構如圖2所示。

3.3 MVC各個模塊的實現

視圖由View類和模板文件兩部分組成。Action控制器直接和View視圖類交互,View類把控制器傳來的變量展現出來,而模板文件完成呈現的形式。

為了對模板文件更加有效地管理,Think PHP對模板文件進行目錄劃分,默認模板文件定義規則是:模板目錄\分組名\模板主題\分組名\模塊名\操作名+模板后綴。項目模板目錄是admin\Tpl,對于后臺管理模塊來說,首先需要新建Admin文件夾(模塊名),然后在該目錄下新建三個文件夾Index、Login和News,分別對應顯示查看管理員主頁面、登錄頁面和添加新聞頁面的內容。當用戶調用Action文件夾各個類的對應的相關方法時,系統將會調用相應模板文件夾下的靜態網頁index.html,并將動態內容輸出到模板中指定的標記處,最后使用display方法輸出相應的模板。

Model模型的定義是由Model類來完成,ThinkPHP對數據庫的表名和模型類的命名遵循一定的規范。首先數據庫的表名和字段全部采用小寫形式,模型類的命名規則是除去表前綴的數據表名稱,并且首字母大寫,然后加上模型類的后綴定義。

系統在后臺登錄和添加新聞時,填寫完表單后,需要校驗表單各項內容,為實現上述功能需求,就需要自定義對應的模型類UserModel.class.php和NewsModel.class.php。并使用D方法實現自動驗證與自動填充。

Action控制器對應的文件位于項目目錄admin\Lib\Action下。框架會根據當前的URL來分析要執行的模塊和操作,即模型和視圖只有在定義了相應的控制器后才能真正被使用。

在管理員管理模塊中,需要自定義IndexAction、LoginAction和NewsAction控制器類,定義規則和模型定義相同,需要注意的是控制器名稱要與視圖模板文件夾名稱保持一致。

根據項目的功能需求控制器類IndexAction中需要定義news、edit、quit和filter等方法,NewsAction中需要定義add、delete、edit、quit和update等方法,LoginAction中需要定義index、login和checklen等方法。

至此,基于ThinkPHP模型框架的新聞發布管理系統中后臺管理模塊的基本功能就搭建完成,前臺功能的搭建過程也大致類似。縱觀整個開發過程中,各個模塊定位清晰,分工明確,調度自然流暢,復用性和擴展好,特別對于美工基礎比較薄弱的開發者,可以借鑒現成的前端模板資源,并集成開源的百度UEditor編輯器插件,完全可以滿足用戶要求。

4 運行結果及分析(The operation results and analysis)

本文以新聞信息管理系統為例進行分析說明,基于ThinkPHP模型框架實現了新聞發布管理信息Web前端展示和后臺管理操作,系統前端展示如圖3所示。

開發人員可套用合適模板,使用Volist標簽主在模板中循環輸出新聞標題、內容和發布時間,主要代碼如下:

{$vo['subject']}

{$vo['message']|stripslashes}

{$vo['createtime']}

后臺管理登錄如圖4所示,后臺管理主頁如圖5所示,新聞添加頁面如圖6所示。

在后應用中,登錄信息需要格式校驗,校驗完成后,調用后臺數據庫驗證用戶名和密碼。成功后,進入后臺管理主頁,后臺會羅列每條已經發布新聞的基本信息,管理員可以對每條信息進行修改和刪除。處理事件被綁定到每行新聞的操作圖標上,然后通過單擊進行修改和刪除。新聞添加時,進入新聞添加頁面,添加新聞標題和內容即可,本系統集成開源的百度UEditor編輯器插件,使用在線編輯功能,方便對新聞內容的添加和修改。

ThinkPHP框架以標準的敏捷的方式開發Web項目,提高了開發速度,降低了開發難度,使整個項目的模塊劃分和代碼編寫更加規范,前端頁面的展示借用模板更加容易實現和擴展,更適合多人協同工作,進行分工編寫復雜的界面和后臺。

本系統使用ThinkPHP開發框架來部署Web應用,快速、簡單、門檻低,能夠短時間內開發出不錯的有效率,安全性能高的網站。特別是初學者,能夠在此基礎上進一步的擴展,添加諸如自動填充實現無限級分類功能,這樣對于了解PHP語法并且要快速開發的人來說,是一個十分便捷的工具。

5 結論(Conclusion)

本文在ThinkPHP開發框架的基礎上,通過敏捷的開發手段,對其中所使用的關鍵技術均做了詳細介紹,并通過實際應用給出了實現方法,系統經過測試,性能穩定、交互界面友好,安全性能良好,基本達到了預期的設計要求,具備較強的實用和實踐參考價值。

隨著Web技術的發展,工程化的特點日趨明顯,本文在ThinkPHP模型的敏捷Web技術的規范化、模塊化、流程化上做了一些探索,在今后的工作中,會在提供標準服務的基礎上,讓開發者可以根據自己的產品和業務特點,通過在線配置和上傳代碼的功能來擴展自定義的功能,滿中個性化需求。

參考文獻(References)

[1] 張文勝,陳宏.基于MVCS模式的組件化手機Web前端的研究與應用[J].電子設計工程,2015,11(23):19-22.

[2] 張文勝,陳宏.企業級組態式Web前端設計方法研究與應用[J].電子設計工程,2014,22(17):162-164.

[3] ThinkPHP3.2.3完全開發手冊[Online]Available: http://www.kancloud.cn/manual/thinkphp/1679,基礎部分,2015.

[4] ThinkPHP完全開發手冊[Online]Available: http://doc.thinkphp.cn/manual/development_process.html,MVC分層,2014.

[5] ThinkPHP完全開發手冊[Online]Available: http://doc.thinkphp.cn/manual/development_process.html,開發流程,2014.

[6] 王俊芳,李隱峰,王池.基于MVC模式的ThinkPHP框架研究[J].電子科技,2014,27(4):151-53.

作者簡介:

張文勝(1967-),男,碩士,工程師,講師.研究領域:Web前端架構,軟件架構設計,軟件工程.

陳 宏(1977-),女,碩士,講師.研究領域:軟件測試,軟件架構設計,軟件工程.

主站蜘蛛池模板: 国产女人在线| 国产福利拍拍拍| 麻豆精品国产自产在线| 国产在线观看99| 亚洲人成网站在线观看播放不卡| 久久a级片| 中国一级毛片免费观看| 国产精品成人免费视频99| 一级毛片免费观看久| 免费 国产 无码久久久| 国产69精品久久久久妇女| 亚洲狠狠婷婷综合久久久久| 天堂av综合网| 97国产精品视频自在拍| 国产无码网站在线观看| 精品久久蜜桃| 亚洲综合极品香蕉久久网| 亚洲日韩欧美在线观看| 制服丝袜一区二区三区在线| 国产AV无码专区亚洲精品网站| 国产成人综合亚洲欧美在| 欧美v在线| 亚洲综合精品香蕉久久网| 99久久国产精品无码| 91精品国产丝袜| 欧美中文字幕一区二区三区| 久久人人97超碰人人澡爱香蕉| 国产青榴视频| 国产在线观看第二页| 国产肉感大码AV无码| 久久久无码人妻精品无码| 2022国产无码在线| 亚洲二三区| 亚洲成肉网| 国产一级一级毛片永久| 国产最爽的乱婬视频国语对白| 国产一二三区在线| 国产剧情国内精品原创| 一级做a爰片久久毛片毛片| 色偷偷av男人的天堂不卡| 91国内视频在线观看| 亚洲激情区| 免费高清自慰一区二区三区| 日韩成人午夜| 精品天海翼一区二区| 亚洲成人免费在线| 四虎亚洲国产成人久久精品| 手机永久AV在线播放| 亚洲欧洲一区二区三区| 亚洲色图欧美一区| 亚洲成A人V欧美综合| 国产av一码二码三码无码| 国内精品91| 亚洲色图欧美视频| 精品国产成人av免费| 毛片网站在线播放| 四虎成人在线视频| 国产成人在线无码免费视频| 国产在线精品美女观看| 国产91特黄特色A级毛片| 亚洲综合激情另类专区| 亚洲最大福利视频网| 国产精品一区二区国产主播| 日韩免费毛片视频| 亚洲三级影院| 国产综合无码一区二区色蜜蜜| 国产探花在线视频| 99视频精品在线观看| 无码一区二区三区视频在线播放| 国产在线自揄拍揄视频网站| 亚洲嫩模喷白浆| 园内精品自拍视频在线播放| 伊人久久精品亚洲午夜| 欧美成人精品一级在线观看| 亚洲AⅤ永久无码精品毛片| av无码一区二区三区在线| 国产主播福利在线观看| 国产精品偷伦视频免费观看国产| 真实国产乱子伦高清| 久久一日本道色综合久久| 久久国产亚洲偷自| 午夜福利无码一区二区|