在做二次开发以来,一直没有好好地去了解magento的MVC架构,以为跟其它的MVC架构一样,其实有着很大的区别。

有很多的程序框架都使用了现在最流行的MVC架构,对于Model-View-Controller (MVC) ,模型-视图-控制器,源于Smalltalk编程语言和Xerox Parc。现在有很多系统是基于MVC架构的例如: open cart , think PHP, codeigniter等等无不都体现了MVC的精髓,分离数据,业务逻辑和显示逻辑。最常见的 PHP MVC框架是这样的。

区别在于:

普通的MVC框架是:由浏览者访问URL,URL会请求被一个PHP文件拦截(这个URL就是路由),通常称为前端控制器,它将分析这个URL,通 个一个判断来获得一个执行控制器的名字(函数名)和执行方法的名字,获得执行控制器并调用其执行方法,然后再在执行方法中处理业务逻辑(读取通过URL和 表单或是PHP文件等传来的数据)。然后执行控制器会把数据传递给显示逻辑,再通过显示逻辑去生成模板文件。

而Magento的MVC框架是:由浏览者访问URL,URL会请求被一个PHP文件拦截(这个URL就是路由),通常称为前端控制器,它将分析这 个URL,通个一个判断来获得一个执行控 制器的名字(函数名)和执行方法的名字,获得执行控制器并调用其执行方法,在执行方法中处理业务逻辑,模型数据。此时它就不会按常规地走了,控制器会实例 化布局对象,在Magento中那个布局是Layout(这个很重要,控制着你显示什么内容),布局对象根据请求的参数,Magento系统会配置创建一 个Block对象,我们称之为“块”列表,并且将它实例化。布局对象会用output方成去生成HMTL文件,每一个块对象和一个模板文件相对应。其中显 示视图View这个被划分为两个部份,一部份是块(Block)和模板(Template),块中的是对象,模板中的是混合了XHTML和PHP代码,这 就分离得更清楚了,让我们一目了然。

Magento还有可以在外围在功能方面进行扩展,对Magento进行弟二次开发,在app/code/local中加入自己的模块名进行扩展,可以调用相对关的父类和其他的功能。

(责任编辑:最模板)

Magento用的哪个php框架,对magento MVC框架的了解相关推荐

  1. mvc java框架_java常用MVC框架说明与对比

    开发中各个层次的框架用户接口层:Struts.JSF.WebWork.SpringMVC.Jquery.Extjs 业务层:Spring 数据库持久层:Hibernate.Mybatis MVC模型封 ...

  2. 通过极简模拟框架让你了解ASP.NET Core MVC框架的设计与实现[上篇]

    <200行代码,7个对象--让你了解ASP.NET Core框架的本质>让很多读者对ASP.NET Core管道有了真实的了解.在过去很长一段时间中,有很多人私信给我:能否按照相同的方式分 ...

  3. BrnShop开源网上商城第二讲:ASP.NET MVC框架

    BrnShop开源网上商城第二讲:ASP.NET MVC框架 原文:BrnShop开源网上商城第二讲:ASP.NET MVC框架 在团队设计BrnShop的web项目之初,我们碰到了两个问题,第一个是 ...

  4. python mvc框架_MVC其实很简单(Django框架)

    Django框架MVC其实很简单 让我们来研究一个简单的例子,通过该实例,你可以分辨出,通过Web框架来实现的功能与之前的方式有何不同. 下面就是通过使用Django来完成以上功能的例子: 首先,我们 ...

  5. 10个最好的 Node.js MVC 框架

    Node.js 是最流行的 JavaScript 服务端平台,它允许建立可扩展的 Web 应用程序.Node.js 包含不同类型的框架,如 MVC 框架.全栈框架.REST API  以及大量的服务器 ...

  6. JS/SQL MVC框架介绍

    概述 JS/SQL MVC框架. 顾名思义, 就是JavaScript和SQL MVC框架. 只要掌握JavaScript和SQL就可以快速开发出一个复杂的基于MVC的BS结构的系统. 由于该框架是在 ...

  7. Unity MVC框架之见解

    Unity MVC框架之见解 MVC框架认识 构架图 案例 无框架,普通逻辑代码脚本 主UI脚本 角色UI脚本 摄像机显示脚本 脚本的放置 MVC框架的运用 Model脚本 View脚本 主界面的Vi ...

  8. 写自己的ASP.NET MVC框架(上)

     开始 ASP.NET程序的几种开发方式 介绍我的MVC框架 我的MVC框架设计架构 回忆以往AJAX的实现方式 MyMVC中实现AJAX的方式 如何使用MyMVC框架中的AJAX功能 配置MyM ...

  9. 源码分析系列 | 从零开始写MVC框架

    1. 前言 2. 为什么要自己手写框架 3. 简单MVC框架设计思路 4. 课程目标 5. 编码实战 5.1 配置阶段 web.xml配置 config.properties 自定义注解 5.2 初始 ...

  10. Python_Django MVC框架与MTV框架

    ** MVC框架与MTV框架 ** 一.MVC框架介绍 1,概述 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写, ...

最新文章

  1. 天龙源码分析 - 选择角色流程
  2. linux驱动常用函数
  3. k8s redis集群_基于K8S部署redis哨兵集群
  4. java网关限流_网关限流使用
  5. C# 使用Bitmap类进行图片裁剪
  6. 大数据之_亿级分布式日志管理ELK_工作笔记001_ELK认识介绍
  7. 关于Neo4j 强连通分量算法,你了解多少?
  8. MATLAB中uigetfile函数使用方法
  9. wifi分析仪android 9,Wifi分析仪(无线信号检测)
  10. php汉字utf8编码转换,PHP UTF8编码内的繁简转换类
  11. python气象卫星云图解析_02_中央气象台
  12. 数据库技术之MySQL高级
  13. Dockerfile文件解释
  14. 足球竞赛规则的部分补充说明
  15. Ubuntu18.04添加自启动脚本
  16. 分支限界法求解旅行商问题(TSP)
  17. 软考的证书含金量高吗?
  18. 中秋节的广西甘蔗——智蔗见智·向新而生
  19. 2020华数杯全国大学生数学建模竞赛C题-脱贫帮扶绩效评价体系的构建与探究(二)(附MATLAB和Python代码)
  20. 广度优先搜索、宽度优先搜索,《学点算法吧,Python》

热门文章

  1. Python闭包的使用
  2. Acwing第 31 场周赛【完结】
  3. 1004 Counting Leaves (30 分)【难度: 中 / 知识点: 树的遍历】
  4. JVM中GC对象配置
  5. Java集合TreeMap
  6. java小数点的代码_java小数位的例子
  7. 使用CMS垃圾收集器产生的问题和解决方案
  8. js日期格式化精髓总结
  9. JavaScript:window.onload问题
  10. 杭电1016Java实现