zored/speech

PHP 的 JSON-RPC 2.0。支持 Symfony 2.0 到 3.0。

安装: 13

依赖者: 0

建议者: 0

安全: 0

星标: 1

关注者: 2

分支: 0

开放问题: 0

类型:package

1.1 2017-04-14 13:50 UTC

This package is not auto-updated.

Last update: 2024-09-29 02:26:28 UTC


README

PHP 的 JSON-RPC 2.0

Build Status Latest Stable Version

JSON-RPC 2.0 的组件。可以作为 独立库 使用。也可以与 Symfony 一起使用。

功能

使用

Symfony

  • 安装包: composer require zored/speech
  • 将组件 new Zored\SpeechBundle\ZoredSpeechBundle() 添加到您的 Symfony 内核 app/AppKernel.php
  • 将路由添加到默认端点: routing.yml
    json_rpc:
        defaults: { _controller: ZoredSpeechBundle:Default:jsonRpc }
        methods: [POST] # Or GET for Zored RPC.
        path: /json-rpc
  • services.yml 中添加具有您的 JSON-RPC 方法的服务
    services:
        your.service:
            # Replace with your own class:
            class: 'Zored\SpeechBundle\Test\JsonRpc\Greeter'
  • 通过 parameters.yml 允许此服务在默认控制器中运行
    parameters:
      zored.speech.controller.context.service_ids: ['your.service']
  • 清除缓存。
  • 测试
    curl http://example.com/json-rpc/ \
        --data '{"id":"1", "method":"your.service:greet", "params":{"person":{"name":"bob","age":19}},"jsonrpc":"2.0"}'

独立库

  • 请参阅 web/index.php 中的示例
  • 使用 php -S 127.0.0.1:8080 在那里运行服务器
  • 测试
    curl http://127.0.0.1:8080 \
        --data '{"id":"1", "method":"your.service:greet", "params":{"person":{"name":"bob","age":19}},"jsonrpc":"2.0"}'

接下来是什么?

  • 如果您需要多个 JSON-RPC 端点,请参阅 默认控制器
  • 请参阅 测试 了解其工作原理。

内部

  • 您的请求 JSON 字符串将发送到 端点,它处理它并返回 Symfony 响应。
  • 端点选择哪个 请求传递器 可以将 JSON 字符串传递给请求处理器。
    • 默认启用 单个 用于 {}批量 用于 [{},{}] 传递器。
  • 请求传递器还反序列化 JSON 并进行验证。
  • 请求传递器将请求对象传递给 请求处理器,它将请求推送到某个位置以获取响应。
  • 然后请求返回并序列化为数组。

事件

您可以在 此处 查看可用的事件。