laravel封装返回json信息工具类

1.工具类可以一次写入多方多方调用,很大程度的节约开发时间得到想要的信息

本人自己封装了一个compoer包如果不想写下面的代码直接在项目中执行即可

composer  require  yly/response

1.1这里演示一个json接口的工具类(文件定义在AppHttpControllersTools)中

<?php
/**
 * Created by PhpStorm.
 * User: yly
 * Date: 2020/2/18
 * Time: 17:48
 */

namespace AppHttpControllersTools;

class ResponseLayout
{
    //设置一个布尔类型,数据类型,信息类型,通过类型
    public static function apply($bool = true, $data = [], $message = '', $pass = true)
    {
        $res = [];//定义一个空集合
        $data && $res['data'] = $data;
        if ($message) {
            $res['message'] = $message;
        } else {
            $res['message'] = $bool ? '操作成功!' : '操作失败!';
        }
        if ($pass) {
            header('Access-Control-Allow-Origin:*');
        }
        $res['status'] = $bool ? 1 : 0;
        return response()->json($res);
    }
}

2.User控制器调用接口(这里路由就不演示了)

<?php

namespace AppHttpControllers;
use AppHttpControllersToolsResponseLayout;
use IlluminateHttpRequest;
use IlluminateSupportFacadesRedis;

class UserController extends Controller
{
    //redis显示用户属性
    public function user()
    {
        $data=DB::table('user')->get();
        return ResponseLayout::apply(true,$data,'成功');
    }
}

3.显示最终结果

3.1用工具类的结果显示如下(显示包含调用成功的信息)

3.2不用工具类的返回结果(不包含返回信息)

补充新的json工具类

 public static function apply($bool = true, $message = '', $data = array())
    {
        try {
            $info = [];
            $info['status'] = $bool ? 1 : 0;
            if (empty($message)) {
                $info['message'] = $bool ? '成功' : '失败';
            } else {
                $info['message'] = $message;
            }
            $info['data'] = !empty($data) ? $data : '';
            return response()->json($info);
        } catch (Exception $exception) {
            return $exception->getMessage();
        }

    }
原文地址:https://www.cnblogs.com/yaoliuyang/p/12327606.html