farhanwazir/makeresponse

制作响应模式响应器。

v1.5.4 2017-04-06 13:31 UTC

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();

感谢您使用