xaboy/laravel-merge-request is a Laravel package for laravel框架 根据路由规则创建/发起虚拟请求,可以在当前请求中发起多个虚拟请求.
It currently has 0 GitHub stars and 8 downloads on Packagist (latest version v1.0.0).
Install it with composer require xaboy/laravel-merge-request.
Discover more Laravel packages by xaboy
or browse all Laravel packages to compare alternatives.
Last updated
laravel框架 根据路由规则创建/发起虚拟请求,可以在当前请求中发起多个虚拟请求
composer require xaboy/laravel-merge-request
路由规则
//获取验证码
Route::get('captcha', 'AuthController@captcha');
//登录并返回用户id
//例: [user_id=>1]
Route::post('login','AuthController@login');
//根据用户id获取用户信息
Route::get('user/info/{id}','AuthController@userInfo');
合并上面三条路由规则
use Xaboy\MergeRequest\MergeRequest;
$mergeRequest = new MergeRequest([
'loginInfo'=>'auth/loginInfo',
'login'=>[
'path'=>'login',
'method'=>'post',
'post'=>[
'username'=>'username',
'password'=>'password',
]
],
'userInfo'=>[
'path'=>'user/info/{id}',
'route'=>[
'id'=>'${mr:login.user_id}' //模板变量
]
]
])
发起虚拟请求
$mergeData = $mergeRequest->run();
path : 路由规则/请求地址/路由别名/控制器@方法method : 请求方式,默认为GETroute : 路由参数post : POST 参数,默认为当前请求的 POST 参数get : GET 参数,默认为当前请求的 GET 参数files : FILE 参数,默认为当前请求的 FILE 参数parameter : 自定义参数,默认为当前请求的自定义参数以上配置项都支持模板变量
executing : 发起模拟请求时触发
参数:
$key: 生成规则的 key&$mergeData : 该请求之前已请求到的数据executed : 发起模拟请求之后触发
参数:
$res : 该请求返回的数据$key: 生成规则的 key&$mergeData : 该请求之前已请求到的数据loaded : 所有模拟请求结束后触发
参数:
&$mergeData : 所有模拟请求返回的数据示例
class Observer{
public function executing($key, $mergeData){}
public function executed($res, $key, $mergeData){}
public function loaded($mergeData){}
}
//绑定
$mergeRequest->observer(Observer::class);
${mr:key.res.data}
参考上面的示例
路由规则
Route::post('user/update/{id}','AuthController@updateUser')->name('user.update');
规则1
[
'path'=>'user/update/{id}',
'method'=>'post',
'route'=>[
'id'=>1
]
]
规则2
[
'path'=>'AuthController@updateUser',
'method'=>'post',
'route'=>[
'id'=>1
]
]
规则3
[
'path'=>'user.update',
'method'=>'post',
'route'=>[
'id'=>1
]
]
规则4
[
'path'=>'user/update/1',
'method'=>'post'
]