<?xml version="1.0" encoding="UTF-8"?>
<!-- Reviewed: no -->
<sect1 id="zend.queue.example">
    <title>Примеры использования</title>

    <para>
        The below example of <classname>Zend_Queue</classname> shows a variety of
        features, including queue creation, queue retrieval, message retrieval,
        message deletion, and sending messages.
		
		Приведённый ниже пример показывает варианты использования 
		<classname>Zend_Queue</classname>: создание очереди сообщений, 
		получение, отправку и удаление сообщений.
    </para>

    <programlisting language="php"><![CDATA[
// Конфигурационные параметры
// @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');
]]></programlisting>
</sect1>
