Why do i have to specify the queue name in this method? http://www.php.net/manual/en/amqpqueue.purge.php i use constructor for define queue name like this:
$this->queue = new AMQPQueue($connection);
$this->queue->declare($queueName, AMQP_DURABLE);
ii is not neccessary to define queue name in methods like: get, ack, consume
That's an example of a badly designed interface. It looks like the designers of the PHP AMQPQueue
class lumped a number of things together into one place rather than split them up into separate classes.
Methods relating to message consumption from like get
, ack
and consume
relate to a specific queue and are (as you observed) tied to the queue passed in to the constructor. The other methods which are not queue specific (purge
, delete
, etc) are more administrative methods and belong in a separate class which does not take a queue name at construction time.