本文已移到http://www.iifire.com
本节介绍Magento的架构,包括
1).请求响应流程图
2).magento各模块间的依赖关系
3).Magento数据库设计
一。Magento系统请求响应流程图
下面是具体请求步骤分析
- 用户向浏览器发出请求(高级话题:What really happens when you navigate to a URL
)
- 浏览器向magento所在的服务器发出请求,magento的Controllers捕捉该请求并分发(实例:Magento Controller Dispatch and Hello World
)
- Controller使用Oject Models,此时Magento的Model开始config(加载config.xml,system.xml,layout下的*.xml 等所有配置文件)(高级话题:config.xml 配置参数说明http://www.magentocommerce.com/wiki/development/reference/module_config.xml
和 system.xml 实例 http://alanstorm.com/custom_magento_system_configuration
)
- Object Model 返回相应的数据(大部分是系统配置信息请研究Class Mage_Core_Model_Config和相关的类)
- Controller 根据layout下的*.xml的配置信息使用相应的Layouts
- Layout 使用Blocks(Blocks是Layout的骨架)
- Blocks使用Object Model(哈哈,这步是天经地义的,不通过Model使用数据库等相关的资源,Blocks就是巧妇难为无米之炊)
- Object Model 使用数据库资源(就是使用具体tables的数据,高级话题:http://www.magentocommerce.com/wiki/development/magento_database_diagram
)
- 使用DB
- 返回DB资源
- 返回Datas给Object(主意Magento的Datas被加工成Object了)
- 返回datas对应的Object给Block
- Block使用Helpers(哈哈,Helpers其实就是打杂的,正如其名,作用完成一些特定的功能:更多Helpers参看:Mage_Core_Helper_Abstract 这是个高级话题,在system.xml配置的时候必须指定Helper)
- Helpers使用Object Models资源(Helpers打杂的最终目的-搞点东西回来)
- Object返回Helpers请求的资源
- Helpers return HTML(哈哈,Helpers打杂主要就是处理一些HTML相关的东西)给Blocks
- Blocks使用Templates(不适用Template怎么把内容显示出来,这步也天经地义,没必要解释)
- Templates使用Helpers(Helpers有时需要配合一下Templates,如Helpers用于控制图像的显示等功能)
- Helpers 返回HTML或者data给Template
- Template返回HTML给Blocks(block其实就是页面的一部分自定义的区域)
- 返回HTML
- 返回HTML
- Controller使用Helpers(主要处理URLs相关的东西)
- ........下面就不用解释了,不懂得google一下,留言给我也行,需要了解更多的magento资源请加入
-
Magentor 开发者群正在招募贤士,欢迎参与。
二。Magento模块依赖关系图
模块之间的依赖没什么内容好说的,关键就是Mage_Core,还有非常重要的一点就是,参照上图来研究Magento Database 效率蛮高的。
三。Magento数据库设计
由于Magento版本的问题上面的数据库图标对有相应的更新,请大家主意
提示:Magento Database Diagrams
PDF下载
原创作品地址:http://yanggaojiao.iteye.com/
分享到:
相关推荐
magento结构和原理是magento框架的核心组成部分,了解magento的结构和原理是开发magento模块和主题的基础。本文将详细介绍magento的文件目录结构、URL路由与分发器、模板调用对应的JS、CSS、图片、重写核心模块等...
由于Magento是基于MVC(模型-视图-控制器)架构设计的,开发者需要了解这一架构模式,以便更好地理解Magento的结构和开发流程。 开发指南中可能包含了以下几个方面的知识点: 1. Magento架构概述:介绍Magento的...
Magento是一款强大的开源电子商务平台,以其灵活的架构和丰富的功能特性深受开发者喜爱。本文将深入探讨Magento的MVC架构,帮助有基础的Magento学习者提升技能,实现开发能力的进阶。 MVC,即Model-View-Controller...
Magento采用模块化架构,各个功能模块可以独立开发和升级,降低了维护难度。其主要组成部分包括: 1. 模板引擎:控制页面布局和样式,使设计人员可以轻松修改网站外观。 2. 数据模型:处理数据库交互,提供数据存储...
1. **MVC架构**:Magento基于Model-View-Controller(MVC)设计模式,这有助于将业务逻辑、数据处理和用户界面分离开来,提高代码的可维护性和可扩展性。`mvc流程.png`可能详细解释了模型、视图和控制器在Magento中...
《Magento插件开发手册》是一份详尽的指南,旨在帮助开发者理解Magento的核心架构、编码标准以及如何创建和部署自定义插件。 ### Magento核心架构与代码组织 Magento的核心应用结构基于模块化设计,允许开发者通过...
18. **EAV**, **SALES**, **SYSTEM**:EAV模型、销售模块和系统模块,构成了Magento的核心架构。 19. **MAGENTO-DatabaseDiagram[v1.1.6]**:这是Magento数据库结构的版本化图表,展示了数据库的完整设计。 20. **...
为了帮助考生准备考试,官方发布了《Magento®认证开发者考试学习指南》,该指南详细介绍了考试中将测试的目标技能,并提供了自测问题及代码参考,帮助考生深入了解Magento的核心架构和技术细节。 #### 二、基础...
在电商领域,经常会有需求将一个已经建立并运行良好的Magento站点快速复制到另一个服务器,用于测试、备份或者创建一个新的独立站点。这个过程涉及到数据库的备份与还原、文件系统的复制以及配置的调整等多个步骤。 ...
本章首先介绍了Magento的历史背景和发展历程,然后详细阐述了Magento的核心概念和技术架构。此外,还探讨了Magento与其他电子商务平台的区别以及其优势所在。 - **第2章:环境搭建与安装** 在这一章节中,作者...
三、Magento的技术架构 1. **技术栈**:Magento基于PHP编程语言,使用MySQL数据库存储数据,采用Zend Framework作为基础架构,遵循MVC(Model-View-Controller)设计模式。 2. **性能优化**:Magento支持缓存管理...
总的来说,实现Magento1产品预览功能需要结合前端技术(如HTML、CSS、JavaScript)和后端的Magento架构知识,包括模块开发、模板修改、事件处理和布局更新。这不仅提升了用户体验,也是Magento电商平台优化的重要一...
4. **加载样本数据**:除了基础架构,这个包可能还包含一些示例数据,如虚拟商品、分类、顾客、订单等,用于展示 Magento 的功能。这些数据将填充到刚才创建的表中,提供一个可以立即操作和测试的环境。 5. **配置 ...
1. **Magento架构与组件**:Magento采用模块化架构,由多个相互独立的模块组成,每个模块负责特定的功能。了解模块结构、布局更新、事件观察者模式以及依赖注入等核心概念,是开发Magento应用的基础。 2. **Magento...
2. **Magento架构理解**:理解Magento的模块化结构,包括`config.xml`文件的配置、`model`、`helper`、`block`和`controller`等组件的使用,以及如何将这些组件整合到Magento的生命周期中。 3. **事件监听**:...
首先,关于Magento的核心概念,我们需要了解其模块化架构。Magento将功能分解为模块,每个模块负责特定的业务逻辑。例如,`Mage_Catalog`模块处理产品展示,`Mage_Checkout`处理购物车和结账流程。理解如何创建、...
Magento 1.4.1.1 是一个深受商家喜爱的开源电子商务平台,它以其强大的功能、高度可定制性和模块化的架构赢得了业界的认可。这个版本在2008年发布,是Magento系列的一个重要里程碑,为中小企业提供了搭建在线商店的...
其程序架构分为内核(Core)、本地模块(Local Modules)、社区模块(Community Modules)和扩展(Extensions),这些组件共同构成了Magento的骨架,使得它能够满足不同商家的特定需求。 Magento的元素和专业术语...
2. MVC架构在Magento中的应用 3. "app"目录中的核心组件和模块定制 4. "skin"目录下的前端资源管理和主题定制 5. "js"目录中的JavaScript库和交互实现 6. CSS和JavaScript在提升用户体验中的作用 理解并掌握这些...