Lumen Basics
安装
# lumen7
$ composer require seffeng/lumen-basics
目录说明
├─Base                      基础类
│   Controller.php              控制器
│   FormRequest.php             表单验证
│   Model.php                   数据库
│   Response.php                响应
│   Service.php                 服务
├─Constants                 常量定义
│   DeleteConst.php             删除
│   ErrorConst.php              错误
│   StatusConst.php             状态
│   TypeConst.php               类型
├─Exceptions                异常
│   BaseException.php           异常
│   Handler.php                 异常处理器
└─Rules                     验证规则
    Password.php                密码
    Phone.php                   手机号
示例
/**
 * TestRequest.php
 * 表单验证示例
 */
namespace App\Http\Requests;
use Seffeng\Basics\Base\FormRequest;
use Seffeng\Basics\Rules\Phone;
class TestRequest extends FormRequest
{
    protected $fillable = ['phone', 'password'];
    public function rules()
    {
        return [
            'phone' => [
                'required',
                new Phone()
            ],
            'password' => 'required'
        ];
    }
    public function messages()
    {
        return array_merge(parent::messages(), [
        ]);
    }
    public function attributes()
    {
        return array_merge(parent::attributes(), [
            'phone' => '手机号',
            'password' => '密码',
        ]);
    }
}
/**
 * TestController.php
 * 表单验证示例 - 控制器
 */
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Validator;
use Seffeng\Basics\Base\Controller;
use Illuminate\Http\Request;
use App\Http\Requests\TestRequest;
class TestController extends Controller
{
    public function index(Request $request)
    {
        $form = new TestRequest();
        $data = $form->load($request->all());
        $validator = Validator::make($data, $form->rules(), $form->messages(), $form->attributes());
        $errors = $form->getErrorItems($validator);
        if ($form->getIsPass()) {
            return $this->responseSuccess($form->getFillItems());
        }
        return $this->responseError($errors['message'], $errors['data']);
    }
}
// 验证成功
{
    "status": "success",
    "data": {
        "phone": "13800138000",
        "password": "123456"
    },
    "message": "success"
}
// 验证失败
{
    "status": "error",
    "code": 1,
    "data": {
        "phone": [
            "手机号格式错误!"
        ],
        "password": [
            "密码不能为空!"
        ]
    },
    "message": "手机号格式错误! 密码不能为空!"
}