我的lumen版本,5.8

1.找到 app/Http/Controllers/Controller.php

修改成如下代码:

<?php

namespace App\Http\Controllers;

use Laravel\Lumen\Routing\Controller as BaseController;
use Illuminate\Http\Request;
use Illuminate\Validation\ValidationException;

class Controller extends BaseController
{
    //重写认证错误消息
    protected function throwValidationException(Request $request, $validator)
    {

        $response = [
            'code' => 400,
            'msg'  => $validator->errors()->first(),
            'data' => []
        ];
        throw new ValidationException($validator,$this->buildFailedValidationResponse(
            $request, $response));

    }

//    返回成功消息
    protected function responseJson($data = [],$msg = 'success', $status = 200, array $headers = [], $options = 0){

        $response = [
            'code'  =>  $status,
            'msg'   =>  $msg,
            'data'  =>  $data
        ];
        return response()->json($response,$status, $headers, $options);
    }

}

2.在接口中使用

你的类要继承 App\Http\Controllers\Controller;


public function test(Request $request){
    //验证错误自动返回我们指定的格式
    $res = $this->validate($request,[
        'appid' =>  'required',
        'secret'=>  'required',
        'code'  =>  'required'
    ]);
    //成功消息,如果要反返回指定错误码的消息,$this->responseJson($res,'error',400);
    return $this->responseJson($res);
}

阿里云邮件推送类封装

发送方法 <?php $mail = new \App\Common\Lib\Mail\AliMail(); list($res, $error) = $mail->setSubject(...

阅读全文

php 向函数传引用

当你要传递的值特别大时,使用传引用的方式 会减小内存的开销。或者当你需要改变传递参数的原值时,也可以使用此方式。 <?php /** * 测试 */ class Tes...

阅读全文

升级php7.2后,加密函数mcrypt_module_open()被废弃的解决方案。

方案1 直接输入 pecl install mcrypt-snapshot 此方案的好处是不用改代码 方案2 <?php class Encrypt{ //base64_encode(openssl_random_pseudo_bytes...

阅读全文

欢迎留言