[iWebShop开发教程] 第4课 iWebShop运行机制(iWebCore)

iWebshop商城是基于MVC架构进行开发的,使用MVC能够把业务逻辑、数据、界面显示分离出来,并且整个商城系统采用了单一入口,系统控制比较灵活。因此在了解iWebShop运行机制之前,我们先看看,什么是MVC,什么是单一入口。

1、MVC

MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:

  • Model(模型)表示应用程序核心(比如数据库记录列表)。
  • View(视图)显示数据(数据库记录)。
  • Controller(控制器)处理输入(写入数据库记录)。
MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。
Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。
通常模型对象负责在数据库中存取数据。
View(视图)是应用程序中处理数据显示的部分。
通常视图是依据模型数据创建的。
Controller(控制器)是应用程序中处理用户交互的部分。
通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,您可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。
MVC 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。
以上解释引用自百度知道,简单来说,使用MVC模式, 可以强制输入,处理,输出分开,把应用程序分为视图,控制器,模型三个部件,让它们各自处理自己的任务。这样的做法有利系统开发的分工及系统二次开发维护,提高开发人员的效率。因此,iWebShop系统的优势从架构时就已经建立下来了。
下面举例说明MVC模式的处理流程,加深对MVC的理解。
20160719161800
1、用户在浏览器点击一个链接,向服务器发出一个请求,请求首先到“控制器”中去处理,“控制器”中的代码就开始进行业务逻辑判断。
2、“控制器”在做业务处理时,要对数据库进行存取,必须要通过“模型”对数据库进行访问。
3、模型数据返回到控制器中后,控制器继续进行逻辑处理,直至完成,控制器就做页面跳转指令,此时就要控制权交给视图,由视图对网页进行渲染,生成页面返回给用户。

2、单一入口

单一入口通常是指一个项目或者应用具有一个统一(但并不一定是唯一)的入口文件,也就是说项目的所有功能操作都是通过这个入口文件进行的,并且往往入口文件是第一步被执行的。
 这个比较好理解,就是系统所有的处理通过一个入口文件来运行。比如:iWebShop的根目录,index.php就是入口文件,结构如下:
<?php
//引入核心
$iweb = dirname(__FILE__)."/lib/iweb.php";
//引入配置文件
$config = dirname(__FILE__)."/config/config.php";
require($iweb);
//程序开始执行,生成WebApp
IWeb::createWebApp($config)->run();
?>

3、iWebShop运行机制

介绍完MVC,单一入口的概念,再来说明iWebShop运行机制,那就很好理解了,iWebShop的作者把MVC和单一入口的设计理念结合在一起,并根据自己多年开发商城系统的经验,加入了一些特性,形成了一个核心:iWebCore,IWebShop就是这个核心的基础上开发而来的。

IWebCore运行流程如下:

20160719171312

1、请求到达统一入口文件,系统先做应用初始化的动作,此时会加载网站配置文件,初始化iWebCore的一些核心类。

2、读取用户的请求,之后URLManager会对URL进行分析,找到指定的控制器的一个Action运行程序。(URL的分析会在控制器的课程中说明)

3、控制器通过调用Model,执行完成之后跳转至视图,由视图完成数据渲染。

4、在视图的渲染过程中会调用Layout,标签等IwebCore的机制。这部分的内容在后续视图的课程中会有详细说明。

如有不明白的地方,留言或是加入我们 “三众技术QQ交流群”: 543102562 一起讨论

以上内容由三众简悦原创,转载注明出处,作者:bobball

关于iwebshop的相关信息请到官网查看:

http://www.aircheng.com/

 

《[iWebShop开发教程] 第4课 iWebShop运行机制(iWebCore)》有一个想法

发表评论