此库用来增强ide,能对stomp类进行自动提示
<?php
class Stomp
{
/**
* 构造器
* Stomp constructor.
* @param string $broker:连接地址,如:tcp://localhost:61613
* @param string $username:用户名,默认为admin
* @param string $password:密码:默认为admin
* @param array $headers:头,如['client-id'=>$clientId]等
*/
public function __construct(string $broker,string $username="admin",string $password="admin",array $headers=[])
{
} /**
* 获取连接id
*/
public function getSessionId():string{ }
/**
* 设置超时时间
* @param int $seconds:秒部分
* @param int $microseconds:毫秒部分
*/
public function setReadTimeout(int $seconds=10,int $microseconds=0){} /**
* 获取超时时间
* @return array
* array(2) {
["sec"]=>
int(2)
["usec"]=>
int(0)
}
*/
public function getReadTimeout():array { } /**
* 获取最后的一次错误
* @return string
*/
public function error():string{ } /**
* 发送消息
* @param string $queue:队列名
* @param mixed $msg:消息内容
* @param array $headers:头
* @return bool:是否成功
*/
public function send(string $queue,mixed $msg,array $headers=[]):bool{ } /**
* 订阅某个队列,然后调用readFrame可以获取到消息
* @param $queue:队列名
* @param $headers:头参数数组
* @return bool:
*/
public function subscribe(string $queue,array $headers=[]):bool{ } /**
* 取消某个订阅
* @param string $queue
* @param array $headers
* @return bool
*/
public function unsubscribe(string $queue,array $headers=[]):bool { } /**
* 判断此队列是否还有消息
* @return bool
*/
public function hasFrame():bool{ } /**
* 读取下一条消息
* object(StompFrame)#2 (3) {
["command"]=>
string(7) "MESSAGE"
["headers"]=>
array(5) {
["message-id"]=>
string(41) "ID:php.net-55293-1257226743606-4:2:-1:1:1"
["destination"]=>
string(10) "/queue/foo"
["timestamp"]=>
string(13) "1257226805828"
["expires"]=>
string(1) "0"
["priority"]=>
string(1) "0"
}
["body"]=>
string(3) "bar"
}
*/
public function readFrame():StompFrame{ } /**
* 确认消息
* @param mixed $frame:消息帧
* @param array $headers:头,可不填
* @return bool:确认成功或者失败
*/
public function ack(mixed $frame, array $headers=[]):bool { } /**
* 开始事务
*
*
try {
$stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
die('Connection failed: ' . $e->getMessage());
} //begin a transaction
$stomp->begin('t1'); //send a message to the queue
$stomp->send('/queue/foo', 'bar', array('transaction' => 't1')); // rollback
$stomp->abort('t1'); // close conection
unset($stomp);
?>
* @param string $transactionId:事务id,自己创建,保证唯一性
* @param array $headers
*/
public function begin(string $transactionId,array $headers=[]){ }
/**
* 提交事务
*
*
try {
$stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
die('Connection failed: ' . $e->getMessage());
} //begin a transaction
$stomp->begin('t1'); //send a message to the queue
$stomp->send('/queue/foo', 'bar', array('transaction' => 't1')); // rollback
$stomp->commit('t1'); // close conection
unset($stomp);
?>
* @param string $transactionId:事务id,自己创建,保证唯一性
* @param array $headers
*/
public function commit(){ } /**
* 回滚事务
*
*
try {
$stomp = new Stomp('tcp://localhost:61613');
} catch(StompException $e) {
die('Connection failed: ' . $e->getMessage());
} //begin a transaction
$stomp->begin('t1'); //send a message to the queue
$stomp->send('/queue/foo', 'bar', array('transaction' => 't1')); // rollback
$stomp->abort('t1'); // close conection
unset($stomp);
?>
* @param string $transactionId:事务id,自己创建,保证唯一性
* @param array $headers
*/
public function abort(string $transactionId,array $headers=[]){ }
}