laravel return 返回空白页面

使用laravel做前后端分离项目,每次返回数据为json格式,又不想一直写response()->json($data),就像写个公共方法,毕竟能少打一个箭号对我来说都是好的
开始的代码如下

    
    protected static function successResponse($data = "")
    {
        self::send_response(['code' => 20000, 'data' => $data]);
    }

    protected static function failResponse($code, $message = "")
    {
        self::send_response(['code' => $code, 'message' => $message]);
    }

    private static function send_response($data)
    {
        return response()->json($data);
    }

然后就发生了很奇怪的现象,子类使用return response()->json($data);数据返回没有问题,但是子类使用父类的successResponse方法就不返回任何数据了,百思不得其解
最后发现是父类的send_response要修改下,如下

    private static function send_response($data)
    {
        return response()->json($data)->send();
    }

说实话,问题解决了,但是知其然不知所以然,为什么子类可以直接返回,父类要加send才可以??

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。