Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pkg6/easy-rpc
Detailed method of actual RPC method
https://github.com/pkg6/easy-rpc
Last synced: 7 days ago
JSON representation
Detailed method of actual RPC method
- Host: GitHub
- URL: https://github.com/pkg6/easy-rpc
- Owner: pkg6
- License: mit
- Created: 2024-08-30T04:39:14.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-09-02T01:19:15.000Z (3 months ago)
- Last Synced: 2024-09-30T09:07:30.394Z (about 2 months ago)
- Language: PHP
- Size: 10.7 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Installation
~~~
composer require pkg6/easy-rpc
~~~## initialization
### Server
~~~
$s = new Server();
$s->addCallback('add', function ($a, $b) {
return $a + $b;
});
$s->start();
~~~### Client
~~~
$client = new Client();
$client->withURL("http://127.0.0.1:8000");
$add = $client->add(1,2);
~~~> addObjectClass refer to:https://github.com/pkg6/easy-rpc/blob/main/tests/objects.php
## Interfaces
### Server Interface
~~~
interface Server
{
/**
* Callback binding:
* @param $method
* @param Closure $callback
* @return $this
*/
public function addCallback($method, Closure $callback);/**
* Class/Method binding:
* @param $objectOrClass
* @return $this
*/
public function addObjectClass($objectOrClass);/**
* List of users to allow
* @param array $authentications
* @return $this
*/
public function withAuthentications(array $authentications);/**
* IP client restrictions
* @param array $hosts
* @return $this
*/
public function allowHosts(array $hosts);/**
* @return mixed
*/
public function start();
}
~~~### Client Interface
~~~
interface Client
{
/**
* @param $url
* @return $this
*/
public function withURL($url);/**
* @param $timeout
* @return $this
*/
public function withTimeout($timeout);/**
* @return $this
*/
public function withDebug();/**
* @param $username
* @param $password
* @return $this
*/
public function withAuthentication($username, $password);
}
~~~