[MixMVC]MixMVC3.1结构概述

一、核心类库结构如下:

图片2

MST_Core

处理框架公共功能集合,配置运行环境,目录结构访问,组织各部分功能调用,框架入口。

 

MST_ActionController_Router:

URL rewrite 路由部分,主要用于分析URL,根据config中的路由配置,匹配出具体调用的controlleraction及相关参数,然后填充MST_ActionController_Request。

 

MST_ActionController_Request:

PHP原生$_REQUEST对象的封装,其中还封装了controlleraction等框架使用的参数及一些处理请求时需要使用到的方法,例如isPost isAjax等。

 

MST_ActionController:

框架调用核心,流程处理中心,一本的非数据处理的逻辑全部都在这个处理。

 

MST_ActionView:

用于处理页面展示,处理页面组件(widget)及页面布局(layout)。

 

MST_DBO:

数据处理核心,所有数据库操作都封装在这里。

 

二、项目文件结构:

 

+—application [该目录存放项目主要文件]

|   +—controllers  [主要放MST_ActionController]

|   |       IndexController.php

|   |       __Application.php

|   +—models  [主要放 MST_DBO]

|   |       TableStructureHelper.php

|   |

|   \—views  [主要放MST_ActionView]

|       +—index [存放indexController 对应的view文件]

|       |       index.phtml [indexController  IndexAction对应的View文件]

|       |

|       +—__layouts   [存放各种页面布局的layout]

|       \—__widgets   [存放页面widgetwidget这里指的是页面的显示组件,是PHP代码与HTML混编的文件]

|           \—base

|                   album.phtml

|                   dbo_form.phtml

|                   form.phtml

|                   grid.phtml

|                   upload.phtml

|                   upload_list.phtml

|

+—cache

+—config [该目录主要存放项目的配置文件]

|       config.php [主要定义个工作环境下的配置参数,包括数据库连接,邮件SMTP配置,session配置。]

|       gb_big5.php

|       routes.php [主要定义URL路由的配置,高级功能,需要专门讲解]

\—public [存放各类静态资源文件,例如css 图片 js等,一般里面还需要有个网站的入口文件:index.php,该文件编写框架的入口,启动整个框架流程。]

 

三、基本处理流程:

图片3

 

1. 一般通过apacherewrite策略,我们会将所有的页面请求交给public/index.php处理。

2. 在Index.php中,我们需要判定框剪的运行环境(分DEV开发环境、TEST测试环境、PRO发布产品环境,分别对应于本地开发调试,demo测试,正式上线,3个不同的运行环境)调用框剪的启动方法start

3. 然后MST_Core会调用MST_ActionController_Router填充MST_ActionController_Request,之后的流程中,我们可以随时与MST_ActionController_Request进行互动。

4. 根据MST_ActionController_Request中的具体参数,MST_ActionController会调用具体我们编写controller

5. 在controller中,我们会与很多不用的数据模块交互(读写数据库、发Email、调用远程API等等),然后根据不同的使用情况调用不同的ViewMST_ActionView)。

6. MST_ActionView会根据我们的配置好的页面布局(layout),显示具体的页面内容。

7. 将全部的输出缓存输出到浏览器上,到此整个框剪处理流程结束。

 

实例项目,可以通过以下SVN地址获取:

http://192.168.33.6/svn/mixmvc3/project/MST_v3.1

文章分类 MixMVC, 经验分享
One comment on “[MixMVC]MixMVC3.1结构概述
  1. 黄思凯说道:

    这是公司的框架吗

发表评论