【框架流程】简要说明

以【前台模块】-【PC端】获取商品简单信息为例。以下若无具体说明,一般说的都是【前台模块】

请求url:/?route=good_info&id=160

流程如下(只展示关键代码片段):

 

1) 入口文件:派遣到对应操作

 

2) 初始化路由

 

3) 路由文件区分不同模块、不同客户端

【PC端商品信息】路由

【移动端商品信息】路由

 

4) 匹配路由,派遣到对应操作

匹配路由时,若路由中没有【平台标识】,则自动识别,并设置【完整路由】

 

5) 假设匹配到的路由为【PC端商品信息】。【商品信息操作类】继承【公共操作类】,实现前置流程、后置流程共用

【公共操作类】主要流程控制方法

上面【初始化资源容器:wwy_resource_container】,首先初始化配置

配置文件区分不同模块、不同客户端、是否业务性用途

【资源容器:wwy_resource_container】用于获取【封装好功能】的资源,不同资源的【获取方法】在不同文件中进行定义。继承的父类只是定义了【获取其他资源】实例的【方法】,只是为了合并,可以忽略

PC端【公共操作类】继承后,可进行自定义属性、方法,覆盖父类

【商品信息操作类】继承【公共操作类】,只需自定义当前操作业务流程。这里通过【资源容器】获取【商品信息服务】实例,并调用服务【方法:process()】进行处理,然后渲染对应【视图】。

 

6) 在【前台模块】对应的【资源容器】中定义获取【商品信息服务】实例的【方法】。继承的父类只是定义了【获取其他资源】实例的【方法】,只是为了合并,可以忽略

 

7) 【商品信息服务类】继承【公共服务类】,实现前置流程、后置流程共用

【公共服务类】主要流程控制方法

前台模块【公共服务类】继承后,可进行自定义属性、方法,覆盖父类

【商品信息服务类】继承【公共服务类】,只需自定义当前服务业务流程。这里通过【资源容器】获取【商品模型】实例,并调用【方法:find()】获取商品简单信息,然后通过【add_view_data()】间接把数据保存到【view_data】,以供【商品信息操作类】渲染视图使用。只看【获取商品简单信息】就行,【获取商品其他信息】暂时忽略不看

 

8) 在【前台模块】对应的【资源容器】中定义获取【商品模型】实例的【方法】。继承的父类只是定义了【获取其他资源】实例的【方法】,只是为了合并,可以忽略

 

9) 对【商品模型】进行分层设计。在【模型】中,通过对应【table模型】,对数据库、表进行查询;通过对应【formatter模型】,对【出库、入库的数据】进行格式化。具体说明请看下面:

前台模块、后台模块【共用商品模型】

前台模块【商品模型】

通过对应【table模型】,对数据库、表进行查询

公共【table模型】,主要定义【间接】获取【db】实例,以及一些业务不相关、可共用的方法

前台模块、后台模块【共用商品table模型】

前台模块【商品table模型】

通过对应【formatter模型】,对【出库、入库的数据】进行格式化

10) 获取数据,【商品信息服务】处理完之后,进行后置数据处理,获取公共数据

11) 获取公共数据,【数据服务层】处理完之后,返回【商品信息操作】,进行后置公共处理,如公共渲染,一般会用到前面获取的【公共数据】。

公共渲染灵活使用,可以高效控制显示。

至此,【前台模块】-【PC端】获取商品简单信息【整个流程】结束。

可分别在【PC端】、【移动端】打开【请求url:/?route=good_info&id=160】,查看显示效果,注意忽略多余的信息,节省时间、精力。

【前台模块】-【移动端】获取商品简单信息【流程】与此类似,主要是操作不同,布局不同,显示不同。请自行了解。

【PC端】显示效果

【移动端】显示效果