Чистка AMQP в драйвере PHP - PullRequest
2 голосов
/ 13 декабря 2011

Почему я должен указать имя очереди в этом методе?http://www.php.net/manual/en/amqpqueue.purge.php я использую конструктор для определения имени очереди следующим образом:

    $this->queue = new AMQPQueue($connection);
    $this->queue->declare($queueName, AMQP_DURABLE);

ii нет необходимости определять имя очереди в таких методах, как: get, ack, потребление

1 Ответ

4 голосов
/ 14 декабря 2011

Это пример плохо спроектированного интерфейса.Похоже, что дизайнеры класса PHP AMQPQueue объединили несколько вещей в одном месте, а не разбили их на отдельные классы.

Методы, относящиеся к потреблению сообщений из get, ack и consume, относятся к определенной очереди и (как вы заметили) привязаны к очереди, передаваемой конструктору.Другие методы, которые не являются специфичными для очереди (purge, delete и т. Д.), Являются более административными методами и относятся к отдельному классу, который не принимает имя очереди во время построения.

...