对magento MVC框架的了解

对magento MVC框架的了解
在做二次开发以来,一直没有好好地去了解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中加入自己的模块名进行扩展,可以调用相对关的父类和其他的功能。

Need a translation service?

Please enter your personal details and we will contact you shortly

Words translated by CCJK

146,096,379

We are Certified

Our Client Satisfaction

rating for previous quarte

4.00

Over 95% of our clients recommend our language services to others

Copyright © CCJK Technologies Co., Ltd. 2000-2017. All rights reserved.
TOP