laravel http 自定义公共验证和响应

<?php

namespace App\Services;
use Validator;

class Http
{

    /***
     * 响应成功返回的函数
     *
     * @param $message
     * @param $content
     * @param int $status
     * @return \Illuminate\Http\JsonResponse
     * @internal param $data
     */
    public function success($message,$content="",$status=200)
    {
        if(is_array($content)&&count($content)<1){
            $data['content']=$content;
            $data['code']=0;
            $data['msg']="数据不存在";
            return response()->json($data,$status);
        }
        $data['content']=$content;
        $data['code']=1;
        $data['msg']=$message;
        return response()->json($data,$status);
    }

    /***
     * 响应错误返回的函数
     *
     * @param $message
     * @param int $status
     * @return \Illuminate\Http\JsonResponse
     */
    public function error($message,$status=200)
    {
        $data['code']=0;
        $data['msg']=$message;
        return response()->json($data,$status);
    }


    /***
     * 响应错误返回的函数
     *
     * @param $message
     * @param $content
     * @param int $status
     * @return \Illuminate\Http\JsonResponse
     */
    public function errorWithData($message,$content,$status=200)
    {
        $data['code']=0;
        $data['data']=$content;
        $data['msg']=$message;
        return response()->json($data,$status);
    }

    /***
     * 验证字段属性
     *
     * @param $all
     * @param $rules
     * @param bool $message
     * @return array|bool|string
     */
    public function validate($all,$rules,$message=false){
        if(!$message){
            $message=$this->getMessage();
        }
        $validator = Validator::make($all, $rules,$message);
        if ($validator->fails()) {
            $array = array_flatten($validator->errors()->toArray());
            $message=implode(' ',$array);
            return $message;
        }
        return false;
    }

    /***
     * 返回验证message
     * @return array
     */
    public function getMessage(){
        return [
            'required' => '字段 :attribute 是必须的.',
            'unique' => '该数据已经存在.',
            'between' => '字段 :attribute 必须在 :min - :max.之间',
        ];
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值