opencart是一个完全免费的开源系统,采用MVCL的框架
整体概述
1:opencart是单一入口系统,所有的请求都要经过index.php文件来处理
2:系统框架对当前的url进行分析,找到对应的controller(控制器)和action(动作),去调用控制器文件里面的动作方法,url路径是调用各个文件的关键
3:在action动作中可以读取数据,处理业务逻辑,然后把完成的数据渲染到视图,给终端用户呈现出来
目录结构
1 | ├── admin 管理后台目录 |
流程分析
我们来从源码的角度看一下,(注:源码只截取关键部分)
在浏览器端键入如下的opencart官网的url地址,到底会发生什么事情1
https://demo.opencart.com/index.php?route=common/home
用户的http请求首先会被转发到这个index.php文件
1 | <?php |
再看一下startup.php文件
1 | // Engine |
再看一下framework.php文件,这里会构造各种核心的类
1 | <?php |
看一下Front这个系统controller里面是怎么查找具体的action的
1 | <?php |
看一下Action是的execute方法
1 | <?php |
下面看一下startup/router这个控制器的实现
1 | <?php |
下面看一下common/home的controller代码具体做的事情
1 | <?php |
再来看一下在loader.php里面,view是怎么加载的
1 | <?php |
再看下Template是怎么渲染模板的,这里是用php原生方式来渲染
1 | <?php |
最后response对象把数据echo给用户
1 | <?php |