jessesoeteman/api-return

This package is abandoned and no longer maintained. The author suggests using the jessesoeteman/api-handler package instead.

This class can be used to manage the status of an api request.

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

This package is auto-updated.

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


README

This class can be used to manage the status of an api request.

Requirements

There are a couple things you will need in order to use this php class.

  • php 8.0
  • composer

How to use APIHandler?

Require APIHandler

If you have composer initialized you can run this command in you terminal to download APIHandler.

$ composer require jessesoeteman/api-handler

Require the autoloader and APIHandler

You will need to require the autoloader in your code, after that you can 'use' the APIReturn class.

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

use APIHandler\APIHandler;

Basic usage

Declare the class

To start you will need to initialize the class. The class needs one parameter that tells one of the following request types:

  • get_request
  • post_request

In this example we will use a GET request.

$apiHandler = new APIHandler(get_request);

If the request type is not right the class will echo and exit:

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

Error Handling

Let's say the an error occured, we can then add the error to the errors array. The first parameter can be a string or an array, this contains the error you want to add. The second parameter is a boolean (false on default), if the boolean is true, the script will echo a json object and exit.

$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

In the 3 examples above the class will echo the following and exit the script:

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

Succesfull request

If the request was succesfull and no errors occured the class will echo that there was a succes:

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

This example will give the following output:

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

License

This project is licensed under the MIT License - see the LICENSE file for details