RDS系统中有很多内置的方法,可以实现很多的功能!
如果这些方法还是不能满足业务需求的需要,就需要进行二次开发。
推荐的方法:利用内置方法,进行修改定制。
优势:默认就可以纳入到权限管理中,在生成的代码基础上修改,比较简单
缺点:需要设置注释和配置代码生成开关,如果忘记则会丢失定制的代码
定制内置方法
定制内置方法非常简单:
- 选中内置方法,以创建新的方法
- 修改方法名称,英文名,图标,按钮颜色
- 点击生成代码
- 在控制器对应的方法添加代码保护标记:/start/ … /end/
- 修改方法的“后端生成”选项为关闭状态
如何选择合适的内置方法
我们对方法进行了分类,大家可以根据这些分类的标准,对照自己的需求,合理选择内置方法
与行有无关系 | 是否有表单录入 | 是否有初始化数据 | 是否传参 | 方法名称 |
---|---|---|---|---|
有关(一行) | 有 | 有 | 默认有 | 修改/数值加/数值减 |
有关(一行或多行) | 无 | 无 | 有 | 删除/设置指定值 |
无关 | 有 | 无 | 默认无 | 添加 |
无关 | 无 | 无 | 默认无 | 无关联按钮 |
案例
比如:我们对指定的学员的成绩进行统计分析:
这个操作我们希望是通过手工的方式启动,那么,我们就定制方法实现:
分析:
- 行的相关性:针对指定学生,那么学生可以选择一个或者多个,与行有关,传递指定学员的id
- 是否输入,执行数据统计,不需要输入信息,无表单,无初始化
可选的方法:删除和设置指定值,因为不需要设置,而是执行数据统计这个方法,则选“删除”这个类型
操作步骤
- 创建方法:方法名称为“执行统计”,方法英文名:doStatisical,其余默认
- 生成代码
修改控制中的doStatisical方法,添加注释标记
/*start*/
/*
* @Description 执行统计
*/
function doStatisical(){
$idx = $this->request->post('learner_id', '', 'serach_in');
if(!$idx) throw new ValidateException ('参数错误');
LearnerModel::destroy(['learner_id'=>explode(',',$idx)],true);
return json(['status'=>200,'msg'=>'操作成功']);
}
/*end*/
修改方法“后端生成”为关闭状态