PHP實戰(zhàn)開發(fā)教程PHPCMS二次開發(fā)URLMV.ppt
《PHP實戰(zhàn)開發(fā)教程PHPCMS二次開發(fā)URLMV.ppt》由會員分享,可在線閱讀,更多相關(guān)《PHP實戰(zhàn)開發(fā)教程PHPCMS二次開發(fā)URLMV.ppt(14頁珍藏版)》請在裝配圖網(wǎng)上搜索。
北風(fēng)網(wǎng)PHPCMS二次開發(fā) URL與MVC 講師 胖龍 北風(fēng)網(wǎng)版權(quán)所有 剖析PHPCMS PHPCMS的默認(rèn)URL規(guī)則 訪問欄目首頁 http your url index php m content c index a lists catid 6訪問內(nèi)容頁 http your url index php m content c index a show catid 1 id 9訪問公告頁 http your url index php m announce c index a show aid 4訪問搜索結(jié)果頁 http your url index php m search c index a init typeid 1 q a siteid 1 time all 默認(rèn)URL規(guī)則 根據(jù)URL定位控制器程序文件 程序定義文件位置 PHPCMS安裝路徑 phpcms modules 模塊名稱 控制器名稱 phpPHPCMS的運行過程 加載控制器定義文件實例化使用 控制器名稱 作為定義名稱的對象執(zhí)行實例化后的控制器對象的 使用 行為名稱 作為定義名稱的方法 MVC 什么是MVC MVC是一個設(shè)計模式 它強制性的使應(yīng)用程序的輸入 處理和輸出分開 使用MVC應(yīng)用程序被分成三個核心部件 M 模型Model V 視圖View C 控制器Controller它們各自處理自己的任務(wù) 模型響應(yīng)狀態(tài)查詢更新數(shù)據(jù) 視圖發(fā)送用戶輸入給控制器將程序結(jié)果展示給用戶 控制器定義應(yīng)用程序業(yè)務(wù)流根據(jù)用戶動作調(diào)用模型根據(jù)用戶動作調(diào)用視圖 查詢數(shù)據(jù)更新數(shù)據(jù) 調(diào)用視圖 用戶請求 獲取數(shù)據(jù) MVC 視圖 視圖是用戶看到并與之交互的界面 對老式的Web應(yīng)用程序來說 視圖就是由HTML元素組成的界面 在新式的Web應(yīng)用程序中 HTML依舊在視圖中扮演著重要的角色 但一些新的技術(shù)已層出不窮 它們包括AdobeFlash和象XHTML XML XSL WML等一些標(biāo)識語言和Webservices 如何處理應(yīng)用程序的界面變得越來越有挑戰(zhàn)性 MVC一個大的好處是它能為你的應(yīng)用程序處理很多不同的視圖 在視圖中其實沒有真正的處理發(fā)生 不管這些數(shù)據(jù)是聯(lián)機存儲的還是一個雇員列表 作為視圖來講 它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式 MVC 模型 模型表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則 在MVC的三個部件中 模型擁有最多的處理任務(wù) 例如它可能用象EJBs這樣的構(gòu)件對象來處理數(shù)據(jù)庫 被模型返回的數(shù)據(jù)是中立的 就是說模型與數(shù)據(jù)格式無關(guān) 這樣一個模型能為多個視圖提供數(shù)據(jù) 由于應(yīng)用于模型的代碼只需寫一次就可以被多個視圖重用 所以減少了代碼的重復(fù)性 MVC 控制器 控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的需求 所以當(dāng)單擊Web頁面中的超鏈接和發(fā)送HTML表單時 控制器本身不輸出任何東西和做任何處理 它只是接收請求并決定調(diào)用哪個模型構(gòu)件去處理請求 然后確定用哪個視圖來顯示模型處理返回的數(shù)據(jù) MVC 優(yōu)點 大部分用過程語言比如ASP PHP開發(fā)出來的Web應(yīng)用 初始的開發(fā)模板就是混合層的數(shù)據(jù)編程 例如 直接向數(shù)據(jù)庫發(fā)送請求并用HTML顯示 開發(fā)速度往往比較快 但由于數(shù)據(jù)頁面的分離不是很直接 因而很難體現(xiàn)出業(yè)務(wù)模型的樣子或者模型的重用性 產(chǎn)品設(shè)計彈性力度很小 很難滿足用戶的變化性需求 MVC要求對應(yīng)用分層 雖然要花費額外的工作 但產(chǎn)品的結(jié)構(gòu)清晰 產(chǎn)品的應(yīng)用通過模型可以得到更好地體現(xiàn) 首先 最重要的是應(yīng)該有多個視圖對應(yīng)一個模型的能力 在目前用戶需求的快速變化下 可能有多種方式訪問應(yīng)用的要求 例如 訂單模型可能有本系統(tǒng)的訂單 也有網(wǎng)上訂單 或者其他系統(tǒng)的訂單 但對于訂單的處理都是一樣 也就是說訂單的處理是一致的 按MVC設(shè)計模式 一個訂單模型以及多個視圖即可解決問題 這樣減少了代碼的復(fù)制 即減少了代碼的維護量 一旦模型發(fā)生改變 也易于維護 其次 由于模型返回的數(shù)據(jù)不帶任何顯示格式 因而這些模型也可直接應(yīng)用于接口的使用 再次 由于一個應(yīng)用被分離為三層 因此有時改變其中的一層就能滿足應(yīng)用的改變 一個應(yīng)用的業(yè)務(wù)流程或者業(yè)務(wù)規(guī)則的改變只需改動MVC的模型層 控制層的概念也很有效 由于它把不同的模型和不同的視圖組合在一起完成不同的請求 因此 控制層可以說是包含了用戶請求權(quán)限的概念 最后 它還有利于軟件工程化管理 由于不同的層各司其職 每一層不同的應(yīng)用具有某些相同的特征 有利于通過工程化 工具化產(chǎn)生管理程序代碼 MVC 不足 MVC的不足體現(xiàn)在以下幾個方面 增加了系統(tǒng)結(jié)構(gòu)和實現(xiàn)的復(fù)雜性 對于簡單的界面 嚴(yán)格遵循MVC 使模型 視圖與控制器分離 會增加結(jié)構(gòu)的復(fù)雜性 并可能產(chǎn)生過多的更新操作 降低運行效率 視圖與控制器間的過于緊密的連接 視圖與控制器是相互分離 但確實聯(lián)系緊密的部件 視圖沒有控制器的存在 其應(yīng)用是很有限的 反之亦然 這樣就妨礙了他們的獨立重用 視圖對模型數(shù)據(jù)的低效率訪問 依據(jù)模型操作接口的不同 視圖可能需要多次調(diào)用才能獲得足夠的顯示數(shù)據(jù) 對未變化數(shù)據(jù)的不必要的頻繁訪問 也將損害操作性能 歡迎訪問我們的官方網(wǎng)站- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- PHP 實戰(zhàn) 開發(fā) 教程 PHPCMS 二次開發(fā) URLMV
鏈接地址:http://www.hcyjhs8.com/p-6402353.html