october-moon/cloud-interfaces

Interfaces

dev-master 2023-02-04 06:50 UTC

This package is auto-updated.

Last update: 2024-10-04 10:50:03 UTC


README

  1. 安装:
composer require october-moon/cloud-interfaces
  1. 配置: config/autoload/services.php 配置文件内进行一些简单的配置,即可通过动态代理自动创建消费者类。

手动创建消费者类:

<?php
namespace App\JsonRpc;
use Hyperf\RpcClient\AbstractServiceClient;
class CalculatorServiceConsumer extends AbstractServiceClient implements CalculatorServiceInterface
{
	/**
	* 定义对应服务提供者的服务名称
	* @var string
	*/
	protected $serviceName = 'CalculatorService';

	/**
	* 定义对应服务提供者的服务协议
	* @var string
	*/
	protected $protocol = 'jsonrpc-http';
	public function add(int $a, int $b): int
	{
		return $this->__request(__FUNCTION__, compact('a', 'b'));
	}
}
  1. 配置dependencies:
App\JsonRpc\CalculatorServiceInterface::class => App\JsonRpc\CalculatorServiceConsumer::class,
  1. 使用: 通过注入 CalculatorServiceInterface 接口来使用客户端了
<?php
use Hyperf\Utils\ApplicationContext;
use App\JsonRpc\CalculatorServiceInterface;
$client = ApplicationContext::getContainer()->get(CalculatorServiceInterface::class);
$result = $client->sum(1, 2);
var_dump($result);
  1. 更多请参考Hyperf文档