tangjun/json-rpc-http

json-rpc-http-client 的 Laravel 扩展包

1.01 2020-03-10 07:45 UTC

This package is auto-updated.

Last update: 2024-09-10 20:10:52 UTC


README

Laravel 5 json-rpc-http 操作

安装

可以通过 Composer 安装 tangjun/json-rpc-http, 在composer.json的require部分引入,然后执行 composer installcomposer update(注意:composer update会更新你其他没有固定版本的组件)。

{
    "require": {
       
        "tangjun/json-rpc-http": "~1.01"
        
    }
   
}

或者

在项目根目录执行

composer require tangjun/json-rpc-http

使用

要使用sys-audit-log服务提供程序,在引导Laravel应用程序时必须注册该提供程序。主要有两种方法。

config/app.php中找到providers键并注册JsonRpcHttpClient服务提供程序。

Laravel 5.1+

    'providers' => [
        // ...
        TangJun\JsonRpcHttp\JsonRpcHttpServiceProvider::class,
    ]

配置

将配置文件移动到根目录下的config文件夹中。

$ php artisan vendor:publish

config/rpc-services.php

$services = [
    [
        'services' => [
            'CalculatorService',
            'ProductService',
        ],
        'nodes' => [
            ['host' => '127.0.0.1', 'port' => 9503],
            ['host' => '127.0.0.1', 'port' => 9503]
        ]
    ]
];

return [
    'services' => $services
];

使用

use TangJun\JsonRpcHttp\JsonRpcHttpClient;

class a extends JsonRpcHttpClient {
    /**
     * The service name of the target service.
     *
     * @var string
     */
    protected $serviceName = 'ProductService';

    /**
     * The protocol of the target service, this protocol name
     *
     * @var string
     */
    protected $protocol = 'jsonrpc-http';


    // 实现一个加法方法,这里简单的认为参数都是 int 类型
    public function list($where,$select,$page,$perPage)
    {
        return $this->__request(__FUNCTION__,compact('where','select','page','perPage'));
    }

}

$a = new a();

$resp = $a->list(" id > 10001 and status > 0 ",['id'],1,10);