Last Updated | | Ratings | | Unique User Downloads | | Download Rankings |
2017-02-03 (2 years ago) | | 74% | | Total: 632 | | All time: 4,913 This week: 367 |
|
Description | | Author |
This package can handle REST API requests with functions in scripts.
It registers functions from scripts present in a given directory to handle API requests to function calls mentioned in annotation comments.
The responses of the requests are returned in JSON format.
The package also comes with JavaScript client code to simplify calls done to API servers using this package. Innovation Award
February 2017
Number 5
Prize: One ebook of choice by Packt |
Nowadays PHP is used to implement APIs that serve mainly mobile applications. Implementing an API consists mainly of defining how PHP code will handle requests for different URL endpoints.
This package makes the process as simple as defining as specifying a directory that contains scripts for handling requests for each of the supported API endpoints.
Each endpoint script will be loaded and a function is called to handle the endpoint request and returns the response data to be returned to the calling client in JSON format.
The package also comes with a simple JavaScript library to make calls to an API implemented with this package.
Manuel Lemos |
| |
|
|
Innovation award
Nominee: 25x
Winner: 5x |
|
Details
JSONful
JSONful is a framework which helps creating API servers.
Features
- Ease of use
* It exposes regular PHP functions to the API, making it easy to integrate with any other framework and existing code.
* It is easy to make cross domain requests (
$server['public'] = true;
)
* The javascript client works out of the box and it's optimized for performance
* The client concatenates many requests and sending it in a single HTTP request.
* It has no dependency, and it can be used with WebPack or directly.
Installation
composer require jsonful/server
Usage
api.php
require __DIR__ . '/vendor/autoload.php';
$server new JSONful\Server(__DIR__ . '/apps');
$server->run();
apps/prime.php
/ @API("prime") */
function is_prime($number)
{
if ($number <= 0) {
return false;
}
$middle = ceil($number/2);
for ($i = 2; $i <= $middle; ++$i) {
if ($number % $i === 0) {
return false;
}
}
return true;
}
/ @API("ping") */
function ping() {
return ['pong' => time()];
}
client.js
var client = new JSONful("https://api.myapp.net/");
client.exec("ping", function(err, response) {
console.log(response); // {"pong": xxxx}
}
client.exec("prime", 99).then(function(response) {
console.error(response); // false
});
|
Applications that use this package |
|
No pages of applications that use this class were specified.
If you know an application of this package, send a message to the author to add a link here.