




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、magento的請求周期(request cycle) magento對某個(gè)URL的請求是如何被翻譯成到某個(gè)特定模塊的執(zhí)行呢?我們來看一下下面的這個(gè)URL:magento/(index.php)/customer/account/index/ 以反斜杠為分隔符,URL分成以下這幾部分: 域名magento URL前綴(index.php)
2、; 不一定會有這個(gè)部分。當(dāng)你使用apache的rewrite功能時(shí)可以省略掉index.phpcustomer 模塊名account
3、 前臺控制器名index action名,通常默認(rèn)為index要追蹤一個(gè)對magento請求的執(zhí)行過程并非易事,原因在于以下兩點(diǎn):1、使用了router2、使用了dis
4、patch機(jī)制首先是由默認(rèn)的前端控制器接受請求,它會將請求的參數(shù)和內(nèi)部的router列表進(jìn)行匹配,如果匹配成功,那么就會將請求交給另一個(gè)新的前端控制器(由請求參數(shù)和router匹配所得到的模塊中的創(chuàng)建)。通常最后的(MVC類型)控制器是一個(gè)"Front Action"對象,它里面定義了一系列的有關(guān)業(yè)務(wù)邏輯的method(方法)。這個(gè)對象最后會根據(jù)請求的參數(shù)來決定調(diào)用哪 一個(gè)action method來處理請求,在處理完后將請求標(biāo)識為"dispatched"。 認(rèn)識magento的module(模塊) module是magento最
5、重要的部分。在magento站點(diǎn)中的任何一個(gè)操作,無論是在前臺還是后臺都是通過模塊來實(shí)現(xiàn)的。在magento中一個(gè)模塊是由下列這幾項(xiàng)的的一項(xiàng)或多項(xiàng)組成:配置文件,數(shù)據(jù)庫相關(guān)的sql文件,呈現(xiàn)對象(rendering objects),輔助類(helper class),數(shù)據(jù)模型類和動作控制器類(action controller)。magento中的模塊是放在什么位置,我們開發(fā)的模塊又應(yīng)該放在什么地方?magento引入了代碼池(code pool)和包(package)兩個(gè)概念。細(xì)心的你可以已經(jīng)發(fā)現(xiàn)app/code下有三個(gè)目錄,這是magento提供的代碼池。其中所有magento自帶的模塊
6、被放到core當(dāng)中,而local則用來保存我們自己開發(fā)的模塊,community則用來存放我們集成到magento中的第三方插件代碼,不過這個(gè)文件夾有可能在后來的版本中淘汰掉。你可能已經(jīng)發(fā)現(xiàn)magento的模塊不是直接放在代碼池core目錄下,而是放在core代碼池目錄下的Mage目錄中。magento將代碼池下的目錄稱作包,目的不僅僅是將相關(guān)的模塊用包分組,更重要的是通過將某個(gè)包下面的所有模塊的類的類名都使用包名為前綴(如Mage包下的所有模塊的類名前綴是Mage_)規(guī)范來達(dá)到類似名字空間的作用,使開發(fā)人員免去類名重復(fù)的困擾。參看下面的目錄結(jié)構(gòu)和相關(guān)的代碼中定義的類名:- App/
7、; |- code/ | |- community/| |- core/| | |- Mage/| | |- Zend/| |- local/|- design/ |- etc/ 下面是magento中的catalog模塊的目錄結(jié)構(gòu):- Mage/ 包名|- Catalog/ 模塊名| |- Block/
8、60; 呈現(xiàn)對象(rendering objects)| |- Helper/ 輔助類(helper class) | |- Model/ 數(shù)據(jù)模型類。負(fù)責(zé)數(shù)據(jù)操作| |- controllers/ 動作控制器類(action controller)| |- etc/
9、0; 配置文件| |- sql/ 數(shù)據(jù)庫相關(guān)的sql文件 blocks: blocks是一組用來協(xié)調(diào)模板文件和模型的對象,每個(gè)block對應(yīng)一個(gè)模板文件(模板文件是指以.phtml為擴(kuò)展名的文件,其實(shí)就是一個(gè)普通的在html中嵌入php代碼的文件)。每一次的magento請求實(shí)際上是處理一系列的block對象和相應(yīng)的模板文件。所有的block類繼承Mage_Core_Block_Te
10、mplate類(它繼承Mage_Core_Block_Abstract類),它的主要方法是toHtml(),它通過調(diào)用renderView()來將模板文件翻譯成html代碼。magento默認(rèn)不使用任何的模板引擎,而是直接使用php。所有renderView()事實(shí)上只是簡單的調(diào)用include包含模板文件而以,如果你想使用其它的模板引擎,你可以通過修改Mage_Core_Block_Template類的renderView()方法來實(shí)現(xiàn)。 controllers: controller是所有業(yè)務(wù)邏輯的起點(diǎn)。每個(gè)controller類都繼承Mage_Core_Controller_Varien_Action類,它實(shí)際只是zend的Zend_Controller_Action類的簡單修改版本,包括下面三個(gè)主要的方法: dispatch($action) preDispatch() postDispatch()helper: 重要的是_(兩個(gè)下劃線)和htmlEscape方法。_用來翻譯字符串,幾乎可以在任何一個(gè)對象內(nèi)調(diào)用。配置文件: 模塊的配置文件存放在該模塊目錄下的etc目錄下。通常會有三個(gè)配置文件,其中config
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025蔬菜訂購合同范本
- 廁所新建合同范本
- 住院醫(yī)師規(guī)范化培訓(xùn)-婦產(chǎn)科學(xué)真題庫-28
- 透析病人敗血癥的護(hù)理
- 分期付款借款合同二零二五年
- 股權(quán)轉(zhuǎn)讓的合同保密協(xié)議二零二五年
- 無錫房屋租賃合同范例
- 安裝資質(zhì)租賃合同范本
- 工程停工補(bǔ)償合同
- 二零二五兼職安全協(xié)議書范例
- 中醫(yī)英語課后翻譯習(xí)題答案(全)
- GB/T 3655-2022用愛潑斯坦方圈測量電工鋼帶(片)磁性能的方法
- NB/T 10729-2021煤礦巷道支護(hù)用金屬網(wǎng)通用技術(shù)條件
- GB/T 12727-2017核電廠安全級電氣設(shè)備鑒定
- GB 5009.83-2016食品安全國家標(biāo)準(zhǔn)食品中胡蘿卜素的測定
- NS中國移動XXXX年客戶滿意度調(diào)查項(xiàng)目計(jì)劃書
- 管材檢測檢測委托單
- (新平臺)國家開放大學(xué)《工程數(shù)學(xué)(本)》形成性考核作業(yè)1-5參考答案
- 《武術(shù)的起源與發(fā)展》教學(xué)課件
- 二維隨機(jī)變量邊緣分布條件分布課件
- PTSD創(chuàng)傷后應(yīng)激障礙課件
評論
0/150
提交評論