PHPackages                             waywake/json-rpc - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. waywake/json-rpc

ActiveLibrary[API Development](/categories/api)

waywake/json-rpc
================

json rpc server/client.

v2.0.14(4mo ago)0812PHPPHP ^8.3

Since Jan 7Pushed 4mo agoCompare

[ Source](https://github.com/waywake/json-rpc-php)[ Packagist](https://packagist.org/packages/waywake/json-rpc)[ RSS](/packages/waywake-json-rpc/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (7)Versions (44)Used By (2)

Paidian PHP RPC
===============

[](#paidian-php-rpc)

\###框架基本信息

- 通信协议: HTTP
- 通信框架: GuzzleHttp
- 消息协议: JSON

> 该项目使用 composer 来完成加载

执行

```
composer config repositories.php-rpc-doc vcs git@git.int.haowumc.com:composer/php-rpc-doc.git
composer require itxq/api-doc-php
composer config repositories.php-json-rpc vcs git@git.int.haowumc.com:composer/php-json-rpc.git
composer require paidian/json-rpc:dev-master
```

### 代码中启用

[](#代码中启用)

- 注册服务

```
// Lumen 11
$app->register(\JsonRpc\Providers\LumenServerServiceProvider::class); //rpc server
$app->register(\JsonRpc\Providers\ClientServiceProvider::class); // rpc client

// Laravel 12 (config/app.php -> providers)
JsonRpc\Providers\LaravelServerServiceProvider::class, // rpc server
JsonRpc\Providers\ClientServiceProvider::class, // rpc client
```

### 配置

[](#配置)

\####RPC目录层级

```

./app/
├── Console
├── Events
├── Exceptions
├── Http
│   ├── Controllers
│   │   ├── DFAPI
│   │   ├── DSPAPI
│   │   ├── ErpAPI
│   ├── Middleware
│   └── Resources
├── Jobs
├── Listeners
├── Logging
├── Logic
├── Models
├── Observers
├── Providers
│   ├── AliyunServiceProvider.php
│   ├── AppServiceProvider.php
│   ├── AuthServiceProvider.php
│   ├── EventServiceProvider.php
│   ├── ObserverServiceProvider.php
│   ├── OssServiceProvider.php
│   └── WechatOauthServiceProvider.php
├── Rpc
│   ├── Order
│   │   └── RpcOrder.php
│   ├── User
│   │   └── RpcUser.php
│   └── method.php //配置文件

```

\####method.php

```
return [
    //方法名 => [ 类名, 函数名 ]
    'user.info' => [\App\Rpc\User\RpcUser::class, 'getUserInfo'],
    'user.id' => [\App\Rpc\User\RpcUser::class, 'getUserId'],
    'user.relatison' => [\App\Rpc\User\RpcUser::class, 'getUserId'],
    'order.info' => [\App\Rpc\Order\RpcOrder::class, 'getOrderInfo'],
];

发布的rpc方法必须在此文件注册，否则无法访问
```

\####Lumen/Laravel配置config/rpc.php

```
