🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 1. 基础路由规则 已如下URL为例: http://localhost/dloa/index1.php?model=stock\_productinfo\_productinfo&action=toProInfoTypePage 通过index的基础路由代码我们可以定位到如下文件: controller/productinfo/productinfo.php 文件里面的toProInfoTypePage这个方法 ![](https://img.kancloud.cn/2b/48/2b48adce35742025a68d9f73ba2124e4_530x701.png) # 2. 跳转到页面 页面的跳转通过控制层controller来进行控制跳转。 ![](https://img.kancloud.cn/2f/18/2f1875e7b3fe4ff326a51b5c332b23c5_1287x455.png) ![](https://img.kancloud.cn/34/17/34174c1c1b271546dfdf7984988dd6a1_1319x299.png) 1. URL地址model的值为路径及对象名,action的值为控制层的方法名。 2. view()方法为基类封装好的方法,控制跳转到具体的模板。方法的参数只需要传对象名的后一部分。如跳转到模板task-list.htm,则只需要传参数“list”即可。 # 3. 控制层基类公用方法 控制层基础类,所有的控制层类都应该基础此类,用于初始化工厂类,基础的业务逻辑层类,公用控制层参数如分页参数等也应该放在此类。 基类action封装了很多方法,如果每一业务没有涉及到复杂的控制,都可以直接调用基类的方法,从而减少代码量。 初次接触该框架时,可以对基类的方法粗略过一两遍,有个大概的印象,到使用时可以清楚直接调用基类里的某一个方法。 **控制层开发注意事项** 1. 控制层所有的方法,都必须以”c\_”+方法名的规则来命名,否则无法识别该方法 2. 调用本业务MODEL层方法:$this->service->方法名(); # 4. 视图层VIEW开发 视图层主要存放html模板文件及js文件,所有的模板文件都必须放在该目录下。 ![](https://img.kancloud.cn/c5/5e/c55e4e5902c79d21bc9b5b978975d0ef_531x707.png)![](https://img.kancloud.cn/c5/5e/c55e4e5902c79d21bc9b5b978975d0ef_531x707.png) **模板页面,值的替换。涉及到数据值的替换,都统一用{字段名}这样的形式。** ![](https://img.kancloud.cn/c5/e7/c5e7c1d3607666d224f3255e5e0a8be3_1087x681.png) 控制所对应的方法为: ![](https://img.kancloud.cn/ab/8a/ab8a15dc4a65bd67a46c602548367a49_720x270.png) # 5. 逻辑层MODEL开发 所有业务的逻辑层都必须要继承类model\_base。 ![](https://img.kancloud.cn/20/0d/200d6c23f32c793152edab7d62b08b62_1157x388.png) 1. $this\->tbl\_name为所对应的表名 2. $this\->sql\_map为所对应的sql配置文件 ### **新增方法add\_d()例子** 若新增业务不涉及到其他事务的处理,只是单纯的字段数据保存,可直接调用父类的add\_d方法,也就是说不用再重重写add\_方法。 若新增业务涉及到其他事务的处理,则需要重写add\_d方法: ![](https://img.kancloud.cn/b6/cc/b6cc9c46026e97454f617308eed7fdc5_1111x571.png) 如图所示,该新增业务,处理了数据字典,邮件发送等事务,所以需要重写新增方法。但本新增方法还是会调用父类的新增方法,减少代码量,实现代码的可重用性。 ### **Sql配置文件** 第一个业务都会有一个对应的sql配置文件。 ![](https://img.kancloud.cn/13/e3/13e3f80b74f1887bd1ef01346e58a9b2_1177x504.png) 1. $sql\_arr为查询sql数组,定义不同的查询语句 2. $condition\_arr为查询字段数组。通过传不同的key值来实现不同条件的查询调用实例: ![](https://img.kancloud.cn/44/4d/444d8043c57ce6bc105e3aaa19883c8d_896x492.png)