Zend Framework の紹介

 Learning Zend Framework

appendix

 Zend Framework リファレンス


  • 第36章 Zend_Gdata
  • 第37章 Zend_Http
  • 第38章 Zend_InfoCard
  • 第39章 Zend_Json
  • 第40章 Zend_Layout
  • 第41章 Zend_Ldap
  • 第42章 Zend_Loader
  • 第43章 Zend_Locale
  • 第44章 Zend_Log
  • 第45章 Zend_Mail
  • 第46章 Zend_Markup
  • 第47章 Zend_Measure
  • 第48章 Zend_Memory
  • 第49章 Zend_Mime
  • 第50章 Zend_Navigation
  • 第51章 Zend_Oauth
  • 第52章 Zend_OpenId
  • 第53章 Zend_Paginator
  • 第54章 Zend_Pdf
  • 第55章 Zend_ProgressBar
  • 第56章 Zend_Queue
  • 第57章 Zend_Reflection
  • 第58章 Zend_Registry
  • 第59章 Zend_Rest

  • 第60章 Zend_Search_Lucene
  • 第61章 Zend_Serializer
  • 第62章 Zend_Server
  • 第63章 Zend_Service
  • 第64章 Zend_Session
  • 第65章 Zend_Soap
  • 第66章 Zend_Tag
  • 第67章 Zend_Test
  • 第68章 Zend_Text
  • 第69章 Zend_TimeSync
  • 第70章 Zend_Tool
  • 第71章 Zend_Tool_Framework
  • 第72章 Zend_Tool_Project
  • 第73章 Zend_Translate
  • 第74章 Zend_Uri
  • 第75章 Zend_Validate
  • 第76章 Zend_Version
  • 第77章 Zend_View
  • 第78章 Zend_Wildfire
  • 第79章 Zend_XmlRpc
  • ZendX_Console_Process_Unix
  • ZendX_JQuery
  • Translation 70.6% Update 2010-11-28 - Revision 23415

    56.3. フレームワーク

    Zend_Queueは、 待ち行列サービスの詳細を隠す代理です。 待ち行列サービスは、Zend_Queue_Adapter_<service>によって表現されます。 たとえば、Zend_Queue_Adapter_Dbは、 メッセージを格納・読み出しするためにデータベーステーブルを使う待ち行列です。

    下記は、待ち行列システムのためにデータベーステーブルを利用する例です:

    $options = array(
        
    'name'          => 'queue1',
        
    'driverOptions' => array(
            
    'host'      => '127.0.0.1',
            
    'port'      => '3306',
            
    'username'  => 'queue',
            
    'password'  => 'queue',
            
    'dbname'    => 'queue',
            
    'type'      => 'pdo_mysql'
        
    )
    );

    // データベース待ち行列を作成します。
    // Zend_Queue はクラス名として Zend_Queue_Adapter_ の後に 'Db' を付加します。
    $queue = new Zend_Queue('Db'$options);

    Zend_QueueコンストラクタはZend_Queue_Adapter_Dbを作成して、 構成設定値でアダプタを初期化します。

    各々のアダプタに認められた構成設定値は、 アダプタの注意で示されます

    Zend_Queueは クラスZend_Queue_Message_Iteratorを用いてメッセージを返します。 そして、それはSPL Iterator及びCountableの実装です。 Zend_Queue_Message_Iteratorは、 Zend_Queue_Messageオブジェクトの配列を含みます。

    $messages $queue->receive(5);
    foreach (
    $messages as $i => $message) {
        echo 
    "$i) Message => "$message->body"\n";
    }

    投げられるどんな例外も、クラスZend_Queue_Exceptionです。

    56.3.1. 導入

    Zend_Queueは、 アダプタを表現する代理クラスです。

    send()count($queue)、そして receive()メソッドは、 待ち行列と相互に作用するために、それぞれのアダプタによって使用されます。

    createQueue()及び deleteQueue()メソッドは待ち行列を管理するために使われます。

    56.3.2. アダプタの間の互換性

    Zend_Queueによってサポートされる待ち行列サービスは、 同じ関数をサポートするとは限りません。 例えば、Zend_Queue_Adapter_Array及び Zend_Queue_Adapter_Dbは全ての関数をサポートしますが、 一方、Zend_Queue_Adapter_Activemqは 待ち行列の一覧や削除、そしてメッセージのカウントをサポートしません。

    Zend_Queue::isSupported()または Zend_Queue::getCapabilities()を使って どんな関数がサポートされるか判定できます。

    • createQueue() - 待ち行列を作成

    • deleteQueue() - 待ち行列を削除

    • send() - メッセージを送信

      send()はアダプタ全てで利用可能なわけではありません; Zend_Queue_Adapter_Nullsend()をサポートしません。

    • receive() - メッセージを受信

      receive()はアダプタ全てで利用可能なわけではありません; Zend_Queue_Adapter_Nullreceive()をサポートしません。

    • deleteMessage() - メッセージを削除

    • count() - 待ち行列内のメッセージ数をカウント

    • isExists() - 待ち行列が存在するかチェック

    receive()メソッドは、 待ち行列と相互に作用するために、それぞれのアダプタによって使用されます。

    createQueue()及び deleteQueue()メソッドは待ち行列を管理するために使われます。

    digg delicious meneame google twitter technorati facebook

    Comments

    Loading...