RabbitMQ学习之(五)_一个基于PHP的RabbitMQ操作类详解程序员
2023-06-13 09:19:59 时间
if (!$this- conn- connect()) {
return array(error_code = 1,msg= Cannot connect to the broker! );
$this- channel = new AMQPChannel($this- conn);
$this- CreateExchange();
$this- CreateQueue();
//创建交换机
public function CreateExchange()
$ex = new AMQPExchange($this- channel);
$ex- setName($this- e_name);
$ex- setType(AMQP_EX_TYPE_DIRECT); //direct类型
$ex- setFlags(AMQP_DURABLE | AMQP_AUTODELETE); //持久化
//echo "Exchange Status:".$ex- declare()."/n"; //队列内容总数
$ex- declare();
$this- ex = $ex;
//创建队列
public function CreateQueue()
$q = new AMQPQueue($this- channel);
$q- setName($this- q_name);
$q- setFlags(AMQP_DURABLE | AMQP_AUTODELETE); //持久化
//echo "Message Total:".$this- q- declare()."/n";
//绑定交换机与队列,并指定路由键
//echo "queue status: ".$q- declare();
//echo "/n";
//echo Queue Bind: .$q- bind($this- e_name, $this- k_route)."/n";
//echo "/n";
$q- bind($this- e_name, $this- k_route);
//发送消息
public function send($msg)
//$this- CreateExchange();
//$this- CreateQueue();
$message=json_encode($msg);
$this- channel- startTransaction();
//echo "send: ".$this- ex- publish($message, $this- k_route); //将你的消息通过制定routingKey发送
$status = $this- ex- publish($message, $this- k_route);
$this- channel- commitTransaction();
$this- conn- disconnect();
return array(status= $status);
//获取消息
public function get()
$q = new AMQPQueue($this- channel);
$q- setName($this- q_name);
$q- setFlags(AMQP_DURABLE | AMQP_AUTODELETE);
//$q- delete();删除队列
$return=array();
while($a=$q- declare())
//echo "queue status: ".$a;
//echo "==========/n";
$messages = $q- get(AMQP_AUTOACK);
$return[]=json_decode($messages- getBody(),true);
//echo "/n";
$this- conn- disconnect();
return $return;
}
相关文章
- php一个可变变量的例子
- PHP DFA算法实现敏感词过滤包 php-dfa-sensitive
- PHP 中如何移除控制字符
- 学习MySQL还是PHP?(先学php还是mysql)
- 深入学习:PHP如何配置MySQL(php如何配置mysql)
- 深耕PHP与Linux,奋斗路上不畏艰辛(phplinux学习)
- 学习PHP与MySQL:基础教程入门(php与mysql基础教程)
- 学习PHP程序员必会的Linux技术(php程序员linux)
- PHP与MSSQL联合 处理日期数据(php mssql 日期)
- 菜鸟学习Redis提升PHP运行效率(菜鸟 redis php)
- 谈谈PHP的输入输出流
- PHP提取中文首字母
- Win2008IIS7.0+php,MySQL,Zend,phpMyadmin配置图解
- php学习之变量的使用
- php基础学习之变量的使用
- php学习笔记PHP面向对象的程序设计
- php入门学习知识点一PHP与MYSql连接与查询
- php入门学习知识点二PHP简单的分页过程与原理
- php入门学习知识点三PHP上传
- PHP函数学习之PHP函数点评
- php另类上传图片的方法(PHP用Socket上传图片)
- 支持中文和其他编码的php截取字符串函数分享(截取中文字符串)