前言

官方文档
Hprose(High Performance Remote Object Service Engine)是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。
你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

安装

安装扩展

Windows 安装方式

可以直接从 pecl 官网:https://pecl.php.net/package/hprose/1.6.5/windows 下载你所需要的 Windows 版本的 dll,安装即可。

Linux 安装方式

可以直接通过pecl的方式安装,也可以下载源码之后,使用 phpize 安装。

  1. pecl install hprose

Mac 安装方式
可以直接通过:

  1. brew install phpXX-hprose

来安装。其中 XX 表示 PHP 的版本号。
也可以通过 pecl 命令安装,或者下载源码之后,通过 phpize 方式安装。

导入composer依赖包

  1. composer require hprose/hprose -vvv

使用

  1. <?php
  2. require_once '../vendor/autoload.php';

服务端 http-server

  1. <?php
  2. use Hprose\Http\Server;
  3. require_once __DIR__ . '/../vendor/autoload.php';
  4. function hello(string $name): string
  5. {
  6. return "hello " . $name . "!";
  7. }
  8. $server = new Server();
  9. $server->addFunction('hello', 'hello');
  10. $server->start();

启动

  1. php -S 127.0.0.1:8024 ./src/http-server.php

客户端

  1. use Hprose\Http\Client;
  2. require_once __DIR__ . '/../vendor/autoload.php';
  3. $client = new Client([
  4. 'http://127.0.0.1:8024',
  5. ], false);
  6. $proxy = $client->useService();
  7. /** @var Hprose\Future $result */
  8. $result = $proxy->hello('小明');
  9. dump($result);