为什么我必须在此方法中指定队列名称? http://www.php.net/manual/en/amqpqueue.purge.php 我使用构造函数来定义队列名称,如下所示:
$this->queue = new AMQPQueue($connection);
$this->queue->declare($queueName, AMQP_DURABLE);
ii不需要在以下方法中定义队列名称:get,ack,consume
答案 0 :(得分:4)
这是一个设计糟糕的界面的例子。看起来PHP AMQPQueue
类的设计者将许多东西集中在一个地方而不是将它们分成不同的类。
与get
,ack
和consume
相关的消息消耗方法与特定队列相关,并且(如您所见)与传递给构造函数的队列相关联。其他非队列特定的方法(purge
,delete
等)是更多的管理方法,属于一个单独的类,它在构造时不占用队列名称。