5.Thrift指南 实战php客户端


前言:上一篇实现go客户端,这里实现php客户端。

1.准备工作,composer安装thrift包
2.准备工作,通过.thrift文件生成php协议代码
3.实际开发,实现客户端代码

1.准备工作,composer安装thrift包

由于需要在php项目中使用thrift的功能,所以需要安装thrift包,这里通过composr安装管理

composer require apache/thrift

2.准备工作,通过.thrift文件生成php协议代码

⚠️.thrift文件必须与服务端一致(向rpc服务端开发人员要),通过thrift工具生成php协议代码

# 示例用户服务文件
thrift -out . --gen php user.thrift

工具运行后生成thrift文件夹如下:


3.实际开发,实现客户端代码

3.1 由于生成的thrift协议代码需要加载才能使用。⚠️
所以这里采用配置composer files方式加载文件。
composer.json文件如下 :(⚠️配置完毕重新执行composer install)

{
  "require": {
    "apache/thrift": "^0.11.0"
  },
  "autoload": {
    "files": [
      "thrift/user/Types.php",
      "thrift/user/User.php"
    ]
  }
}

3.2 编写客户端代码

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

use Thrift\Transport\TSocket;
use Thrift\Protocol\TBinaryProtocol;

// 传输方式(需与服务端一致)
$socket = new TSocket("localhost", 9002);
// 传输协议(需与服务端一致)
$transport = new \Thrift\Transport\TBufferedTransport($socket);
$protocol  = new TBinaryProtocol($transport);

// 实例化业务
$client    = new \thrift\user\UserClient($protocol);
$transport->open();
//  调用服务方法
var_dump($client->GetName());
$transport->close();

3.3 测试结果:


总结

php客户端实现也是非常简单,⚠️传输方式与传输协议

Github Thrift Demo
thrift官网php教程

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容