2018年3月6日星期二

Magento技术架构简介

Magento的架构在总体上遵循MVC的模式,传统的MVC工作方式如下:
traditional mvc architecture
为了更好的支持大型电子商务网站的建设,Magento在MVC的各个层面扩展了一些子系统,以使得同一个后台可管理多个多店铺多站点
Magento的视图层拆分为3个部分,模型层拆分为2个部分,在控制层新添加了一个Helper扩展,helpers是模块相关的,如下图:
Magento Architecture
视图层的templates基本上是混有php标签的html文件。这里有一个新的概念即区块(Block),这是什么呢?主要是为了减少主页面控制器的负担以及降低视图中各个区块的耦合度。这很重要,尤其是关系到界面组件化和Ajax区域刷新技术的使用。这样每个区块拥有它们自己的视图、控制器并直接和数据交互,并且区块之间可以嵌套。比如一个网页拥有一个root区块,header区块,导航区块以及内容区块和footer区块。那么主控制器究竟负责什么呢?主控制器实际上主要是用来控制布局(Layout),布局决定了区块(以及其使用的视图模版)之间的关联关系,如位置、嵌套。主控制器以及helpers为全局页面提供服务,而子控制器为各自的区块服务。最后,模型包含Models以及集合(collections)。Models像一个服务层那样工作,提供各种业务计算和数据处理功能;而集合是对数据存取接口的封装
Magento MVC Flow

没有评论:

发表评论

注意:只有此博客的成员才能发布评论。

Also Read: