Thinkphp5 控制器(三:控制器与模型交互)

  • A+
所属分类:PHP ThinkPHP5

对于简单的业务,无需通过逻辑层、服务层等交互,这样对于开发来讲是相对复杂,于是我们可以将简单的业务进行封装。

对验证器、控制器、模型进行封装调用

/**
 * 快速调用执行model函数
 * @param $param_data 操作的数据
 * @param bool|false 验证器名
 * @param bool|false 模型名
 * @param int $fail_code 保存失败的code
 * @param int $success_code 保存的code
 * @param string $action_name
 * @param bool|false $return_data 是否返回数据
 * @return array
 */
protected function doModelAction($param_data, $validate_name = false, $model_name = false, $fail_code = 0, $success_code = 1, $action_name = 'editData', $return_data = false)
{
    if ($validate_name != false)
    {
         $result = $this->validate($param_data, $validate_name);
        if (true !== $result)
            return ShowCode::code(401, [], $result);
    }
    $model_edit = Loader::model($model_name);
    if (!$model_edit)
        return ShowCode::code(401, [], '模型不存在');
    $res = $model_edit->$action_name($param_data);
    if ($res !== FALSE)
    {
        if ($return_data)
        {
            return ShowCode::code($success_code, ['pk' => $res]);
        }
        return ShowCode::codeWithoutData($success_code);
    } else
    {
        return ShowCode::codeWithoutData($fail_code);
    }
}

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: