10000 GitHub - gitter-badger/J: /d͡ʒeɪ/ Highly customizable json-rpc 2.0 Server Library
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

gitter-badger/J

 
 

Repository files navigation

/d͡ʒeɪ/

AddController.php

<?php

class AddController {

    public function __invoke($number_one, $number_two) {
        return $number_one + $number_two;
    }
}

MathControllerProvider.php

<?php

use \Pimple\ServiceProviderInterface;
use \Pimple\Container;

class MathControllerProvider implements ServiceProviderInterface {

    public function register(Container $container) {

        /**
         * Registering invokable class instance
         */
        $container['math.add'] = function () {
            return new AddController();
        };

        /**
         * Registering closure
         */
        $container['math.sub'] = $container->protect(
            function ($number_one, $number_two) {
                return $number_one - $number_two;
            }
        );
    }
}

server.php

<?php

use \J\Server;

require_once 'vendor/autoload.php';

$server = new Server();
$server->registerControllers(new MathControllerProvider());

header("Content-Type: application/json");
echo $server->handle(file_get_contents('php://input'));
$ php -S 0.0.0.0:8888 server.php
$ curl -X POST http://localhost:8888 -d'[{"jsonrpc":"2.0","id":1,"method":"math.add","params":[13,29]},{"jsonrpc":"2.0","id":2,"method":"math.sub","params":[100,58]}]'

[{"jsonrpc":"2.0","id":1,"result":42},{"jsonrpc":"2.0","id":2,"result":42}]

Build Status Test Coverage Code Climate Stories in Ready

About

/d͡ʒeɪ/ Highly customizable json-rpc 2.0 Server Library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 98.9%
  • Makefile 1.1%
0