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文件夹如下:

《5.Thrift指南 实战php客户端》

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 测试结果:

《5.Thrift指南 实战php客户端》

总结

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

Github Thrift Demo
thrift官网php教程

    原文作者:一二三三二
    原文地址: https://www.jianshu.com/p/a088a40de453
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞