jessesoeteman/api-return

此包已被废弃且不再维护。作者建议使用jessesoeteman/api-handler包。

此类可用来管理API请求的状态。

v1.2.2 2023-01-12 23:19 UTC

This package is auto-updated.

Last update: 2023-04-26 06:58:41 UTC


README

此类可用来管理API请求的状态。

要求

为了使用此PHP类,您需要准备一些东西。

  • php 8.0
  • composer

如何使用APIHandler?

要求APIHandler

如果您已经初始化了composer,您可以在终端运行以下命令以下载APIHandler。

$ composer require jessesoeteman/api-handler

要求自动加载器和APIHandler

您需要在代码中要求自动加载器,之后您可以“使用”APIReturn类。

require __DIR__ . '/vendor/autoload.php';

use APIHandler\APIHandler;

基本用法

声明类

首先,您需要初始化类。该类需要一个参数,用于指定以下请求类型之一

  • get_request
  • post_request

在此示例中,我们将使用GET请求。

$apiHandler = new APIHandler(get_request);

如果请求类型不正确,则类将输出并退出

{
    "status": "error",
    "errors": [
        "Request method needs to be ...."
    ]
}

错误处理

假设发生了错误,我们可以将错误添加到错误数组中。第一个参数可以是字符串或数组,包含要添加的错误。第二个参数是布尔值(默认为false),如果布尔值为true,则脚本将输出JSON对象并退出。

$apiHandler->addError("error 1");
$apiHandler->addError("error 2");

$apiHandler->addError("error 3", true); // <-- Exits here

$apiHandler->addError("error 4");
$apiHandler->addError("error 1");
$apiHandler->addError("error 2");
$apiHandler->addError("error 3");

$apiHandler->APIExitOnError(); // <-- Exits here

$apiHandler->addError("error 4");
$apiHandler->addData([]);
$apiHandler->APIExit();
$apiHandler->addError("error 1");
$apiHandler->addError("error 2");
$apiHandler->addError("error 3");

$apiHandler->addData([]);

$apiHandler->APIExit(); // <-- Exits here

在上面的3个示例中,类将输出以下内容并退出脚本

{
    "status": "error",
    "errors": [
        "error 1",
        "error 2",
        "error 3",
    ]
}

成功的请求

如果请求成功且没有发生错误,则类将输出成功消息

if (false) {
    $apiHandler->addError("error 1"); // Error wont be added.
}
$apiHandler->APIExitOnError(); // <-- Does not exit because there is no error.

$apiHandler->addData({});
$apiHandler->addData([]);
$apiHandler->addData("Hello World!");

$apiHandler->APIExit(); // <-- Exits here

此示例将产生以下输出

{
    "status": "success",
    "data": [
        {},
        [],
        "Hello World!"
    ]
}

许可

本项目采用MIT许可证 - 有关详细信息,请参阅LICENSE文件。