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