PHP code example of jswh / rpc

1. Go to this page and download the library: Download jswh/rpc library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

jswh / rpc example snippets


    
    namesapce Api;
    
    class Hello
    {
        /**
         * @httpMethod GET
         * @param string $name
         * @return void
         */
        public function hello($name) {
            return 'Hello ' . $name . ' !'
        }
    }

    
    class MyParser implements RPC\interfaces\ProcedureParser {
        public function parse($path) {
            preg_match("/(\w+)\.(\w+)$/", $_SERVER['REQUEST_URI'], $matches);
            if (count($matches) !== 3) {
                return null;
            }
            $p = new Procedure('MyApi', $matches[1], $matches[2]);
    
            return $p;
        }
    }

    
    Annotation::registerMeta('method', 'GET|PUT|POST');
    $parser = new MyParser
    $procedure = $parser->parse(null);
    $annotation = new Annotation($procedure->getClass(), $procedure->method);
    $method = $annotation->meta('method');
    if ($method && $method !== $_SERVER['HTTP_METHOD']) {
        header('', true, 404);
    } else {
        if ($method === "GET") {
            $params = $_GET;
        } else {
            $params = array_merge($_POST, $_GET);
        }
        header('Content-Type: application/json');

        return json_encode($procedure->call($params));
    }
 php
    
    PC\Application('Api');
    echo $app->run();