Yar 是一个轻量级, 高效的RPC框架,它提供了一种简单方法来让PHP项目之间可以互相远程调用对方的本地方法。

并且Yar也提供了并行调用的能力。可以支持同时调用多个远程服务的方法。

准备工作

参照手册进行 Yar 拓展安装,这里不赘述。

php -m查看是否开启相应模块。

示例

访问入口

<?php

declare (strict_types=1);

// 为了方便使用原先项目框架相关类以及composer包
require __DIR__ . '/vendor/autoload.php';

class A {
/**
* @Description testA
* @param string $str
* @return string
*/
public function testA(string $str = 'yar-a')
{
return $str;
}

/**
* @Description testB
* @return false|string
*/
public function testB()
{
return json_encode(['yar-b']);
}
}
$service = new Yar_Server(new A());
$service->handle();

get 方式访问 http://xxx.com/yar.php ,就可以看到RPC服务文档。

客户端访问示例

$client = new \Yar_Client("http://xxx.com/yar.php");
$result = $client->testA("Hello World!");