farhanwazir / makeresponse
制作响应模式响应器。
Requires
- php: >=5.4
Requires (Dev)
- phpunit/phpunit: ~4.0
This package is not auto-updated.
Last update: 2024-09-15 04:00:15 UTC
README
这个PHP库可以帮助生成适用于客户端(API客户端、POS客户端、Web客户端等)的全球标准响应的JSON和数组格式。它与任何PHP项目都无关框架,您可以自由使用。
为什么使用这个库
- 这个库是一个标准的响应模式,您不需要为每个Web服务创建文档,只需参考这个即可。
- 这个库逻辑性强,您必须遵守标准。
- 它是框架无关的,如果您想与任何框架一起使用,也可以。它具有Laravel和Lumen内置支持,如下所述。
安装
通过composer命令
composer require farhanwazir/makeresponse
或在您的composer.json中添加以下行,然后运行composer update
命令
"farhanwazir/makeresponse" : "1.*"
Laravel & Lumen配置
Laravel用户
Laravel用户可以在config/app.php中添加以下行
'providers' => [ ... FarhanWazir\MakeResponse\MakeResponseServiceProvider::class ... ]
不要关闭config/app,进入"aliases"内部
'aliases' => [ ... 'MakeResponse' => FarhanWazir\MakeResponse\Facade\MakeResponse::class ... ]
Lumen用户
Lumen用户可以在bootstrap/app.php中添加以下行
$app->register(FarhanWazir\MakeResponse\MakeResponseServiceProvider::class);
在Laravel中添加别名作为外观
if (!class_exists('MakeResponse')) { class_alias(FarhanWazir\MakeResponse\Facade\MakeResponse::class, 'MakeResponse'); }
使用方法
您只需调用makeResponse()
辅助函数来响应请求。以下列出的一些方法将帮助您探索MakeResponse。
-
setStatus(numeric)
设置正或负的数字值 -
setMessage(string)
设置字符串消息,不是大字符串,它用于简短的消息 -
setErrors(string|array)
设置错误字符串或数组 -
setResult(string|array)
设置结果参数的字符串或数组 -
set(status, result, errors, message)
一次性设置响应参数的方法 -
get()
获取格式化后的响应集合 -
get()->toArray()
将集合转换为数组 -
get()->toJson()
将集合转换为JSON
通过辅助函数使用
makeResponse($status, $result, $errors, $message, $array);
$status
必须是正或负的数字。$result
字符串或数组。默认为null$errors
字符串或数组。默认为null$message
一行字符串。默认为null$array
布尔值,它属于返回响应(数组或JSON)。默认为true
获取响应示例
示例1:获取数组格式的格式化响应
makeResponse(1, ['id' => 1, 'name' => 'Farhan Wazir']); /** Output [ 'status' => 1, 'result' => ['id' => 1, 'name' => 'Farhan Wazir'] ] */
示例2:获取JSON格式的格式化响应
makeResponse()->setStatus(0)->setErrors('You provided input is wrong.')->get(); /** Output { 'status' : 0, 'errors' : ['You provided input is wrong.'] } */ //OR makeResponse(1, ['id' => 1, 'name' => 'Farhan Wazir'], null, null, false); /** Output { 'status' : 1, 'errors' : ['id' => 1, 'name' => 'Farhan Wazir'] } */
示例3:验证格式化响应给客户端
//Response will be in array makeResponse(1); /** Output [ 'status' => 1 ] */ //Response will be in json makeResponse(1, null, null, null, false); /** Output { 'status' : 1 } */
示例4:将响应转换为数组
// makeResponse()->toArray() converts into array and same for json by toJson() makeResponse()->setStatus(0)->setErrors('You provided input is wrong.')->get()->toArray();
示例5:直接类调用方法
$response = new FarhanWazir\MakeResponse\Response(); $response->setStatus(1)->setMessage('Make you feel comfortable'); $response->setResult( array('id' => 1, 'name' => 'Make Responder') ); print $response->get(); //or $response->get()->toJson(); /** Output { 'status' : 1, 'message' : 'Make you feel comfortable', 'result' : ['id' => 1, 'name' => 'Make Responder'] } */ //convert response in array print_r($response->get()->toArray()); [ 'status' => 1, 'message' => 'Make you feel comfortable', 'result' => ['id' => 1, 'name' => 'Make Responder'] ]
Laravel和Lumen用户
您还可以使用上面展示的示例,以下为Laravel和Lumen风格的示例
//Response will be in json MakeResponse::set(1, ['id' => 1, 'name' => 'Farhan Wazir'])->get(); //Response will be in array MakeResponse::set(0, null, 'Your input is wrong', 'Input error')->get()->toArray();