tars2php documentation
Introduction
Instructions
//The servant name for this example is PHPTest.PHPServer.obj return array( 'appName' => 'PHPTest', 'serverName' => 'PHPServer', 'objName' => 'obj', 'withServant' => true,//whether it is server-side or client-side 'tarsFiles' => array( './example.tars' //The path of the tars file ), 'dstPath' => './server/', //Location of the generated php file 'namespacePrefix' => 'Server\servant', //the namespace prefix of the php file );struct SimpleStruct { 0 require long id=0; 1 require unsigned int count=0; 2 require short page=0; };<?php namespace Server\servant\PHPTest\PHPServer\obj\classes; class SimpleStruct extends \TARS_Struct { const ID = 0; //tars协议中的tag const COUNT = 1; const PAGE = 2; public $id; //元素的实际值 public $count; public $page; protected static $_fields = array( self::ID => array( 'name'=>'id', //tars协议中没个元素的name 'required'=>true, //tars协议中是require或者optional 'type'=>\TARS::INT64, //类型 ), self::COUNT => array( 'name'=>'count', 'required'=>true, 'type'=>\TARS::UINT32, ), self::PAGE => array( 'name'=>'page', 'required'=>true, 'type'=>\TARS::SHORT, ), ); public function __construct() { parent::__construct('PHPTest_PHPServer_obj_SimpleStruct', self::$_fields); } }<?php //Note that the comment part of the generated file will be converted to php code when the server is started. If not necessary, please do not modify it. /** * @param struct $tags \Server\servant\PHPTest\PHPServer\obj\classes\LotofTags * @param struct $outtags \Server\servant\PHPTest\PHPServer\obj\classes\LotofTags =out= * @return int */ public function testLofofTags(LotofTags $tags,LotofTags &$outtags);<?php try { $requestPacket = new RequestPacket(); //parameters required to build the request packet $requestPacket->_iVersion = $this->_iVersion; $requestPacket->_funcName = __FUNCTION__; $requestPacket->_servantName = $this->_servantName; $encodeBufs = []; $__buffer = TUPAPIWrapper::putStruct("tags",1,$tags,$this->_iVersion); $encodeBufs['tags'] = $__buffer; $requestPacket->_encodeBufs = $encodeBufs; $sBuffer = $this->_communicator->invoke($requestPacket,$this->_iTimeout); $ret = TUPAPIWrapper::getStruct("outtags",2,$outtags,$sBuffer,$this->_iVersion); // Extract the first output parameter outtags from the returned package return TUPAPIWrapper::getInt32("",0,$sBuffer,$this->_iVersion); //solve the return parameter return parameter name is empty, tag is 0 } catch (\Exception $e) { throw $e; }
Last updated