evandarwin/jsend

Basic JSend interface for PHP projects.

Installs: 12 679

Dependents: 1

Suggesters: 0

Security: 0

Stars: 1

Watchers: 2

Forks: 0

Open Issues: 0

Type:project

2.0.1 2020-01-29 03:27 UTC

This package is auto-updated.

Last update: 2024-04-29 02:53:50 UTC


README

Build Status Code Climate Test Coverage

A tiny PHP library that generates JSON responses based on the original JSend specification.

The specification has been slightly modified to make use for APIs, in which the are now optional code and message attributes. Both are meant to be human readable, and will not show up if not supplied.

Version 2.x requires PHP 7.2+ If you need support for PHP >= 5.6, use the 1.x branch.

Installation

Install JSend via Composer:

$ composer require evandarwin/jsend

Usage

You can use JSend like so:

<?php
use EvanDarwin\JSend\JSendBuilder;

$builder = new JSendBuilder();

// This will return a JSendResponse
$response = $builder->success()
                    ->data(['id' => 3])
                    ->code(12)
                    ->message("Hello")
                    ->get();

// Output the JSON
header('Content-Type: application/json');
echo $response->getResponse();

And the response will be formed like so:

{
  "status": "success",
  "message": "Hello",
  "code": 12,
  "data": {
    "id": 3
  }
}

Alternative statuses include:

  • fail - For when the user has done something wrong, and they should fix it before requesting again.
  • error - An internal server error or something that's not the issue of the user's request
<?php
use EvanDarwin\JSend\JSendBuilder;

// These alternatives statuses can be set like so
$builder = new JSendBuilder();

// For failure
$builder->failed()->get();

// For error
$builder->error()->get();

License

Licensed under the MIT license. See the LICENSE file for information.