tourze / json-rpc-procedure-collect-bundle
JSON-RPC过程收集模块
Installs: 4
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: ^8.1
- psr/log: ^3|^2|^1
- symfony/config: ^6.4
- symfony/dependency-injection: ^6.4
- symfony/framework-bundle: ^6.4
- symfony/http-kernel: ^6.4
- symfony/stopwatch: ^6.4
- symfony/yaml: ^6.4 || ^7.1
- tourze/json-rpc-core: ^0.0.6
Requires (Dev)
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2025-05-14 08:48:34 UTC
README
这个Symfony Bundle负责收集所有标记为JSON-RPC方法的服务,并提供一个API来查询所有可用的方法。
安装
composer require tourze/json-rpc-procedure-collect-bundle
注册Bundle
在config/bundles.php
中添加:
Tourze\JsonRPCProcedureCollectBundle\JsonRPCProcedureCollectBundle::class => ['all' => true],
功能介绍
本Bundle主要提供以下功能:
- 自动收集所有使用
#[MethodExpose]
属性标记的JSON-RPC方法 - 提供
GetProcedureList
JSON-RPC方法,用于获取所有已注册的方法列表
使用示例
创建JSON-RPC方法
<?php namespace App\Procedure; use Tourze\JsonRPC\Core\Attribute\MethodExpose; use Tourze\JsonRPC\Core\Procedure\BaseProcedure; #[MethodExpose('YourMethodName')] class YourMethod extends BaseProcedure { public function execute(): array { // 实现你的方法逻辑 return ['key' => 'value']; } }
获取所有方法列表
通过调用GetProcedureList
JSON-RPC方法,可以获取所有已注册的JSON-RPC方法及其对应的实现类:
{ "jsonrpc": "2.0", "method": "GetProcedureList", "params": {}, "id": 1 }
响应示例:
{ "jsonrpc": "2.0", "result": { "GetProcedureList": "Tourze\\JsonRPCProcedureCollectBundle\\Procedure\\GetProcedureList", "YourMethodName": "App\\Procedure\\YourMethod" }, "id": 1 }
单元测试
运行单元测试:
./vendor/bin/phpunit packages/json-rpc-procedure-collect-bundle/tests