OpenCart 是一套比较简单的MVC架构的php开源电子商务程序,完全没有Magento系统那么复杂。当然简单的代价是相应的功能和安全性能上的不足。不过OpenCart 系统中的一些经典设计还是很值得学习的。 OpenCart 首先将前台和后台完全分离开来,后台文件结构在admin/目录下;而前台在catalog/目录,入口文件index.php 在根目录下。各自都有一个可以做不同设置的配置文件config.php,在这里设置一些目录路径常量、数据库信息等。下面以OpenCart前台为例看看文件结构和MVC模式: Catalog 前台 | index.php 入口文件
| 启动引擎 Engine
| 处理请求 request/response
| 前台控制器 /engine/front.php
然后Dispatch 开始引入MVC 架构,整个过程由 Controller 贯穿: Dispatch || Dispatch 请求的Action Pre_Action || 预处理action 作为子 Action Action || 继承自基础控制器类/engine/controller.php的类方法 默认index()方法 || 通过Load Model(engine/loader.php)和相应的Model通信如catalog/model/catalog/category.php) Model || Model:类方法执行sql语句,从数据库(library/db.php)中查询或操作数据,没有引入pdo等数据库抽象类 Controller:返回结果保存到$this->data[]数组 || Controller 处理业务逻辑 View:$this->template 指定模板 || View 负责内容呈现方式和样式。 Controller:$this->render接受$this->data[] 和$this->template || 传递回response Controller:$this-response->setOutput() || 最后由response 输出 |
|
来自: sumi2005 > 《OpenCart》