fightbulc / jsonrpc_curl
JSON-RPC CURL
0.5.4
2013-05-14 11:31 UTC
Requires
- php: >=5.3.3
- fightbulc/php_curl: 1.0.0
README
::::::'##::'######:::'#######::'##::: ##:'########::'########:::'######:: :::::: ##:'##... ##:'##.... ##: ###:: ##: ##.... ##: ##.... ##:'##... ##: :::::: ##: ##:::..:: ##:::: ##: ####: ##: ##:::: ##: ##:::: ##: ##:::..:: :::::: ##:. ######:: ##:::: ##: ## ## ##: ########:: ########:: ##::::::: '##::: ##::..... ##: ##:::: ##: ##. ####: ##.. ##::: ##.....::: ##::::::: ##::: ##:'##::: ##: ##:::: ##: ##:. ###: ##::. ##:: ##:::::::: ##::: ##: . ######::. ######::. #######:: ##::. ##: ##:::. ##: ##::::::::. ######:: :......::::......::::.......:::..::::..::..:::::..::..::::::::::......::: :'######::'##::::'##:'########::'##::::::: '##... ##: ##:::: ##: ##.... ##: ##::::::: ##:::..:: ##:::: ##: ##:::: ##: ##::::::: ##::::::: ##:::: ##: ########:: ##::::::: ##::::::: ##:::: ##: ##.. ##::: ##::::::: ##::: ##: ##:::: ##: ##::. ##:: ##::::::: . ######::. #######:: ##:::. ##: ########: :......::::.......:::..:::::..::........::
JSON-RPC CURL
一个小巧的JSON-RPC客户端,与Simplon/Jr - 一个JSON-RPC服务器 - 完美配合。
1. 安装
您可以通过从github下载包或通过Composer安装来安装JSONRPC CURL。我鼓励您选择后者
{ "require": { "fightbulc/jsonrpc_curl": "0.5.2" } }
2. 如何使用?
如果您对JSON-RPC主题不熟悉,我建议您查看Simplon/Jr的文档,它解释了整个主题。请继续,我会在这里等待...
明白了?太好了!
以下代码示例应有助于您了解如何使用客户端。首先,我们需要加载Composer的自动加载器
。其次,由于我们需要一个JSON-RPC服务器,假设我们的服务器位于以下URL下
// load autoloader require __DIR__ . '/vendor/autoload.php'; // set correct composer vendor path // set url for server $urlServiceGateway = 'http://localhost/jsonrpc/';
2.1. 无数据请求
发送一个无数据的请求
// send request without parameters $response = (new JsonRpcCurl()) ->setUrl($urlServiceGateway . '/api/web/') // server url with gateway path ->setId(1) // request ID (important for batch/async) ->setMethod('Web.Base.helloWorld') // requested service ->send(); // send request // dump response var_dump($response);
2.2. 带数据请求
数据通过关联数组传递
// set data $data = [ 'address' => 'Mr.', 'lastname' => 'Putterschmidt', ]; // send request without parameters $response = (new JsonRpcCurl()) ->setUrl($urlServiceGateway . '/api/web/') // server url with gateway path ->setId(1) // request ID (important for batch/async) ->setMethod('Web.Family.guy') // requested service ->setData($data) // holds data ->send(); // send request // dump response var_dump($response);
2.3. 代理请求
在开发中,我使用Charles查看服务器和客户端之间的所有通信。以下示例展示了如何启用代理
// proxy $proxyIp = '127.0.0.1'; $proxyPort = 88; // set data $data = [ 'message' => 'Can I get a what whaaaat?', ]; // send request without parameters $response = (new JsonRpcCurl()) ->setUrl($urlServiceGateway . '/api/web/') // server url with gateway path ->setId(1) // request ID (important for batch/async) ->setMethod('Web.Cheerleader.cheer') // requested service ->setData($data) // holds data ->setProxy($proxyIp, $proxyPort) // enable proxy ->send(); // send request // dump response var_dump($response);
3. 结论
这就是全部内容。干杯!