资讯专栏INFORMATION COLUMN

一个lumen后置中间件,留存下

andycall / 2966人阅读

摘要:设置一个后置中间件统一返回格式,去除值返回成功格式化数据去除值判断变量是否数组

formatData($response->original);

        return response()->json($response);
    }

    /**
     * 格式化数据
     *
     * @param $response
     * @return array
     */
    private function formatData($response)
    {
        if (isset($response["data"])) {
            $response["data"] = $this->isArray($response["data"]);
            $response["data"] = $this->nullTransform($response["data"]);
        }

        $message = isset($response["message"]) ? $response["message"] : $this->messageDefault;
        $code = isset($response["code"]) ? $response["code"] : $this->codeDefault;
        $data = isset($response["data"]) ? $response["data"] : $this->dataDefault;

        return ["code" => $code, "message" => $message, "data" => $data];
    }

    /**
     * 去除null值
     *
     * @param $response
     * @return mixed
     */
    private function nullTransform($response)
    {
        $response = $this->isArray($response);
        array_walk_recursive($response, function (&$val) {
            if ($val === null) {
                $val = "";
            }
        });
        return $response;
    }

    /**
     * 判断变量是否数组
     *
     * @param $response
     * @return mixed
     */
    private function isArray($response)
    {
        if(!is_array($response)){
            return $response->toArray();
        }
        return $response;
    }
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/31587.html

相关文章

  • lumen5.5学习路由和间件(四)

    摘要:想要做到这一点,你需要定义中间件为。如果你希望在及方法被调用时使用一致的中间件实例,只需在容器中使用容器的方法注册中间件以上就是路由和中间件的学习,最后那那其实理解得有点虚,有错记得指出修正,谢谢 前几篇了解完从请求到响应的流程后,仔细学习下路由和中间件的玩法 ----------------------------------分割线--------------------------...

    1fe1se 评论0 收藏0
  • Lumen 初体验(二)

    摘要:的现状目前是版本,是基于开发。入口文件启动文件和配置文件框架的入口文件是。在路由中指定控制器类必须写全命名空间,不然会提示找不到类。目前支持四种数据库系统以及。使用时发生错误,因为在文件中,的默认驱动是。 最近使用 Lumen 做了 2 个业余项目,特此记录和分享一下。 Lumen 的介绍 在使用一项新的技术时,了解其应用场景是首要的事情。 Lumen 的口号:为速度而生的 La...

    Cheriselalala 评论0 收藏0
  • 学习 Lumen 用户认证 (一)

    摘要:在开发中,用户认证是核心,是数据是否有保障的前提,目前主要有两种常用方式进行用户认证和。附是为了在网络应用环境间传递声明而执行的一种基于的开放标准。 好久没写 PHP 代码了,尤其是 Lumen,我是 Lumen 的忠实用户,自从面世开始,我就将 Lumen 作为我 API 的主要框架使用。 但说到 API,不得不说的一个概念:「前后端分离」,现在越来越多的团队都采用前后端分离,彻底解...

    wangzy2019 评论0 收藏0
  • 基于 lumen 的微服务架构实践

    摘要:现在的提供了一种更易于使用和维护的计划任务方式。注意事项建议开启这样会极大的加速类的加载。 lumen 为速度而生的 Laravel 框架 官网的介绍很简洁,而且 lumen 确实也很简单,我在调研了 lumen 相关组件(比如缓存,队列,校验,路由,中间件和最重要的容器)之后认为已经能够满足我目前这个微服务的需求了。 任务目标 showImg(https://segmentfault...

    hatlonely 评论0 收藏0
  • Lumen配置文件按需加载出现的坑

    摘要:问题分析通过阅读源码发现,中的服务都是按需绑定并加载。在服务按需绑定并加载的时候,使用了类似组件的形式通过载入配置项并绑定服务。因为在这个时候的相关配置文件还没有被载入。 问题描述 公司一个高并发API需要从Laravel移植到Lumen,由于数据库配置信息是通过远程或者缓存读取后动态配置,所以在中间件时使用到了 Config::set 然而实际运行时发现数据库配置并没有更新。 由于是...

    lentoo 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<