5.Thrift指南 實(shí)戰(zhàn)php客戶端


前言:上一篇實(shí)現(xiàn)go客戶端,這里實(shí)現(xiàn)php客戶端。

1.準(zhǔn)備工作,composer安裝thrift包
2.準(zhǔn)備工作,通過(guò).thrift文件生成php協(xié)議代碼
3.實(shí)際開(kāi)發(fā),實(shí)現(xiàn)客戶端代碼

1.準(zhǔn)備工作,composer安裝thrift包

由于需要在php項(xiàng)目中使用thrift的功能,所以需要安裝thrift包,這里通過(guò)composr安裝管理

composer require apache/thrift

2.準(zhǔn)備工作,通過(guò).thrift文件生成php協(xié)議代碼

??.thrift文件必須與服務(wù)端一致(向rpc服務(wù)端開(kāi)發(fā)人員要),通過(guò)thrift工具生成php協(xié)議代碼

# 示例用戶服務(wù)文件
thrift -out . --gen php user.thrift

工具運(yùn)行后生成thrift文件夾如下:


3.實(shí)際開(kāi)發(fā),實(shí)現(xiàn)客戶端代碼

3.1 由于生成的thrift協(xié)議代碼需要加載才能使用。??
所以這里采用配置composer files方式加載文件。
composer.json文件如下 :(??配置完畢重新執(zhí)行composer install)

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

3.2 編寫(xiě)客戶端代碼

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

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

// 傳輸方式(需與服務(wù)端一致)
$socket = new TSocket("localhost", 9002);
// 傳輸協(xié)議(需與服務(wù)端一致)
$transport = new \Thrift\Transport\TBufferedTransport($socket);
$protocol  = new TBinaryProtocol($transport);

// 實(shí)例化業(yè)務(wù)
$client    = new \thrift\user\UserClient($protocol);
$transport->open();
//  調(diào)用服務(wù)方法
var_dump($client->GetName());
$transport->close();

3.3 測(cè)試結(jié)果:


總結(jié)

php客戶端實(shí)現(xiàn)也是非常簡(jiǎn)單,??傳輸方式與傳輸協(xié)議

Github Thrift Demo
thrift官網(wǎng)php教程

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)自:http://blog.csdn.net/kesonyk/article/details/50924489 ...
    晴天哥_王志閱讀 25,330評(píng)論 2 38
  • 用兩張圖告訴你,為什么你的 App 會(huì)卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 13,945評(píng)論 2 59
  • Awesome PHP 一個(gè)PHP資源列表,內(nèi)容包括:庫(kù)、框架、模板、安全、代碼分析、日志、第三方庫(kù)、配置工具、W...
    guanguans閱讀 6,115評(píng)論 0 47
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,881評(píng)論 25 709
  • 你的手機(jī)支付寶app更新了嗎?里面可以跟好友借錢了。 可以支付利息,也可以不支付。那么新一輪借錢高潮來(lái)了。 復(fù)制下...
    卡農(nóng)論壇閱讀 785評(píng)論 1 1

友情鏈接更多精彩內(nèi)容