# Примеры использования

The below example of `Zend_Queue` shows a variety of features, including queue creation, queue retrieval, message retrieval, message deletion, and sending messages.

Приведённый ниже пример показывает варианты использования `Zend_Queue`: создание очереди сообщений, получение, отправку и удаление сообщений.

    // Конфигурационные параметры
    // @see Zend_Queue_Adapater::__construct()
    $options = array(
        'name' => 'queue1',
    );

    // Создание очереди на основе массива
    $queue = new Zend_Queue('Array', $options);

    // Получение списка очередей
    foreach ($queue->getQueues() as $name) {
        echo $name, "\n";
    }

    // Создание новой очереди
    $queue2 = $queue->createQueue('queue2');

    // Подсчёт количества сообщений в очереди (реализует интерфейс Countable из SPL)
    echo count($queue);

    // Получение 5 сообщений из очереди
    $messages = $queue->receive(5);

    foreach ($messages as $i => $message) {
        echo $message->body, "\n";

        // Сообщение обработано, его можно удалить
        $queue->deleteMessage($message);
    }

    // Отправка сообщения в текущую очередь
    $queue->send('My Test Message');

    // Удаление созданной очереди и всех сообщений в ней
    $queue->deleteQueue('queue2');