# 1. 基础路由规则
已如下URL为例:
http://localhost/dloa/index1.php?model=stock\_productinfo\_productinfo&action=toProInfoTypePage
通过index的基础路由代码我们可以定位到如下文件:
controller/productinfo/productinfo.php 文件里面的toProInfoTypePage这个方法

# 2. 跳转到页面
页面的跳转通过控制层controller来进行控制跳转。


1. URL地址model的值为路径及对象名,action的值为控制层的方法名。
2. view()方法为基类封装好的方法,控制跳转到具体的模板。方法的参数只需要传对象名的后一部分。如跳转到模板task-list.htm,则只需要传参数“list”即可。
# 3. 控制层基类公用方法
控制层基础类,所有的控制层类都应该基础此类,用于初始化工厂类,基础的业务逻辑层类,公用控制层参数如分页参数等也应该放在此类。
基类action封装了很多方法,如果每一业务没有涉及到复杂的控制,都可以直接调用基类的方法,从而减少代码量。
初次接触该框架时,可以对基类的方法粗略过一两遍,有个大概的印象,到使用时可以清楚直接调用基类里的某一个方法。
**控制层开发注意事项**
1. 控制层所有的方法,都必须以”c\_”+方法名的规则来命名,否则无法识别该方法
2. 调用本业务MODEL层方法:$this->service->方法名();
# 4. 视图层VIEW开发
视图层主要存放html模板文件及js文件,所有的模板文件都必须放在该目录下。

**模板页面,值的替换。涉及到数据值的替换,都统一用{字段名}这样的形式。**

控制所对应的方法为:

# 5. 逻辑层MODEL开发
所有业务的逻辑层都必须要继承类model\_base。

1. $this\->tbl\_name为所对应的表名
2. $this\->sql\_map为所对应的sql配置文件
### **新增方法add\_d()例子**
若新增业务不涉及到其他事务的处理,只是单纯的字段数据保存,可直接调用父类的add\_d方法,也就是说不用再重重写add\_方法。
若新增业务涉及到其他事务的处理,则需要重写add\_d方法:

如图所示,该新增业务,处理了数据字典,邮件发送等事务,所以需要重写新增方法。但本新增方法还是会调用父类的新增方法,减少代码量,实现代码的可重用性。
### **Sql配置文件**
第一个业务都会有一个对应的sql配置文件。

1. $sql\_arr为查询sql数组,定义不同的查询语句
2. $condition\_arr为查询字段数组。通过传不同的key值来实现不同条件的查询调用实例:

- 架构
- 基础框架文档
- base/action(C层基类)
- protected 类定义
- __construct构造函数
- c_list
- c_index
- c_page
- c_pageJson
- c_listJson
- c_getByAjax
- c_getCountByName
- c_toAdd
- c_add
- c_init
- c_edit
- c_deletes
- c_ajaxdeletes
- c_saveBatch
- c_checkRepeat
- getDatadicts
- showDatadicts
- getDataNameByCode
- assign
- display
- view
- assignFunc
- model/base(M层基类)
- protected类定义(model)
- __construct
- find
- get_table_fields
- findAll
- findSql
- create
- delete
- findBy
- updateField
- query
- findCount
- update
- filterFunc
- filterField
- filterWithoutField
- filterCustom
- createBatch
- pageBySql
- listBySql
- pageBySqlId
- deletes
- 事务控制
- 获取对象数组
- addBatch_d
- add_d
- edit_d
- isRepeat
- 列表组件文档
- 基础表格
- 数据获取
- 表格数据显示
- 常用控制参数
- 表格右键扩展
- 表格扩展按钮
- 快速搜索
- 高级搜索(自定义视图)
- 表格注册事件
- 主从表格
- 可编辑表格
- 模块开发
- 开发案例
- 开发准则