版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、magento的請求周期(request cycle) magento對某個URL的請求是如何被翻譯成到某個特定模塊的執(zhí)行呢?我們來看一下下面的這個URL:magento/(index.php)/customer/account/index/ 以反斜杠為分隔符,URL分成以下這幾部分: 域名magento URL前綴(index.php)
2、; 不一定會有這個部分。當(dāng)你使用apache的rewrite功能時可以省略掉index.phpcustomer 模塊名account
3、 前臺控制器名index action名,通常默認(rèn)為index要追蹤一個對magento請求的執(zhí)行過程并非易事,原因在于以下兩點(diǎn):1、使用了router2、使用了dis
4、patch機(jī)制首先是由默認(rèn)的前端控制器接受請求,它會將請求的參數(shù)和內(nèi)部的router列表進(jìn)行匹配,如果匹配成功,那么就會將請求交給另一個新的前端控制器(由請求參數(shù)和router匹配所得到的模塊中的創(chuàng)建)。通常最后的(MVC類型)控制器是一個"Front Action"對象,它里面定義了一系列的有關(guān)業(yè)務(wù)邏輯的method(方法)。這個對象最后會根據(jù)請求的參數(shù)來決定調(diào)用哪 一個action method來處理請求,在處理完后將請求標(biāo)識為"dispatched"。 認(rèn)識magento的module(模塊) module是magento最
5、重要的部分。在magento站點(diǎn)中的任何一個操作,無論是在前臺還是后臺都是通過模塊來實(shí)現(xiàn)的。在magento中一個模塊是由下列這幾項(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)兩個概念。細(xì)心的你可以已經(jīng)發(fā)現(xiàn)app/code下有三個目錄,這是magento提供的代碼池。其中所有magento自帶的模塊
6、被放到core當(dāng)中,而local則用來保存我們自己開發(fā)的模塊,community則用來存放我們集成到magento中的第三方插件代碼,不過這個文件夾有可能在后來的版本中淘汰掉。你可能已經(jīng)發(fā)現(xiàn)magento的模塊不是直接放在代碼池core目錄下,而是放在core代碼池目錄下的Mage目錄中。magento將代碼池下的目錄稱作包,目的不僅僅是將相關(guān)的模塊用包分組,更重要的是通過將某個包下面的所有模塊的類的類名都使用包名為前綴(如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)模板文件和模型的對象,每個block對應(yīng)一個模板文件(模板文件是指以.phtml為擴(kuò)展名的文件,其實(shí)就是一個普通的在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)。每個controller類都繼承Mage_Core_Controller_Varien_Action類,它實(shí)際只是zend的Zend_Controller_Action類的簡單修改版本,包括下面三個主要的方法: dispatch($action) preDispatch() postDispatch()helper: 重要的是_(兩個下劃線)和htmlEscape方法。_用來翻譯字符串,幾乎可以在任何一個對象內(nèi)調(diào)用。配置文件: 模塊的配置文件存放在該模塊目錄下的etc目錄下。通常會有三個配置文件,其中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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年長租公寓物業(yè)租賃居間服務(wù)條款3篇
- 通風(fēng)除塵凈化課程設(shè)計
- 2025年雨傘租賃與廣告投放綜合服務(wù)合同3篇
- 2025年面粉產(chǎn)品包裝設(shè)計與印刷合同4篇
- 年度防霧涂料競爭策略分析報告
- 年度地震專用儀器戰(zhàn)略市場規(guī)劃報告
- 年度重組水蛭素單克隆抗體戰(zhàn)略市場規(guī)劃報告
- 硬件課程設(shè)計哪個簡單
- 植筋的施工方案
- 2025年度預(yù)制混凝土承臺基礎(chǔ)工程采購合同4篇
- 2024電子商務(wù)平臺用戶隱私保護(hù)協(xié)議3篇
- 安徽省蕪湖市2023-2024學(xué)年高一上學(xué)期期末考試 英語 含答案
- 電力工程施工安全風(fēng)險評估與防控
- 醫(yī)學(xué)教程 常見體表腫瘤與腫塊課件
- 內(nèi)分泌系統(tǒng)異常與虛勞病關(guān)系
- 智聯(lián)招聘在線測評題
- DB3418T 008-2019 宣紙潤墨性感官評判方法
- 【魔鏡洞察】2024藥食同源保健品滋補(bǔ)品行業(yè)分析報告
- 生豬屠宰獸醫(yī)衛(wèi)生檢驗(yàn)人員理論考試題及答案
- 鋼筋桁架樓承板施工方案
- 2024年駐村第一書記工作總結(jié)干貨3篇
評論
0/150
提交評論