Просмотр исходного кода

[DOCUMENTATION] Japanese:new Zend_Queue Custom

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@16701 44c647ce-9c0f-0410-b52a-842ac1e357ba
yoshida@zend.co.jp 16 лет назад
Родитель
Сommit
4a1889c3cf
1 измененных файлов с 133 добавлено и 0 удалено
  1. 133 0
      documentation/manual/ja/module_specs/Zend_Queue-Custom.xml

+ 133 - 0
documentation/manual/ja/module_specs/Zend_Queue-Custom.xml

@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Reviewed: no -->
+<!-- EN-Revision: 16700 -->
+<sect1 id="zend.queue.custom">
+    <title>Zend_Queueのカスタマイズ</title>
+
+    <sect2 id="zend.queue.custom.adapter">
+        <title>独自のアダプタ作成</title>
+
+        <para>
+            <classname>Zend_Queue</classname>は、
+            <classname>Zend_Queue_Adapter_AdapterAbstract</classname>を実装するどんなアダプタも扱います。
+            既存のアダプタ、
+            または抽象クラス<classname>Zend_Queue_Adapter_AdapterAbstract</classname>のうちの1つを拡張することにより、
+            独自のアダプタを作成できます。
+            このアダプタとして<classname>Zend_Queue_Adapter_Array</classname>を検討することが、
+            最も簡単に概念化できると提案します。
+        </para>
+
+        <programlisting language="php"><![CDATA[
+class Custom_DbForUpdate extends Zend_Queue_Adapter_Db
+{
+    /**
+     * @see tests/Zend/Queue/Custom/DbForUpdate.php のコード
+     *
+     * Custom_DbForUpdate はその行を見つけるために、SELECT ... FOR UPDATE を使います。
+     * 既存のコードよりも求められる列をもたらす可能性がよりあります。
+     *
+     * しかしながら、データベース全てに SELECT ... FOR UPDATE フィーチャがあるとは限りません。
+     *
+     * 注意: これは後で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'
+    )
+);
+
+$adapter = new Custom_DbForUpdate($options);
+$queue = Zend_Queue($adapter, $options);
+]]></programlisting>
+
+        <para>
+            同様に即座にアダプタを変えることもできます。
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$adapter = new MyCustom_Adapter($options);
+$queue   = Zend_Queue($options);
+$queue->setAdapter($adapter);
+echo "Adapter: ", get_class($queue->getAdapter()), "\n";
+]]></programlisting>
+
+        <para>or</para>
+
+        <programlisting language="php"><![CDATA[
+$options = array(
+    'name'           => 'queue1',
+    'namespace'      => 'Custom',
+    'driverOptions'  => array(
+        'host'       => '127.0.0.1',
+        'port'       => '3306',
+        'username'   => 'queue',
+        'password'   => 'queue',
+        'dbname'     => 'queue',
+        'type'       => 'pdo_mysql'
+    )
+);
+$queue = Zend_Queue('DbForUpdate', $config); // Custom_DbForUpdate をロード
+]]></programlisting>
+    </sect2>
+
+    <sect2 id="zend.queue.custom.message">
+        <title>独自のメッセージクラスを作成</title>
+
+        <para>
+            <classname>Zend_Queue</classname>は、独自のメッセージクラスも扱います。
+            変数はアンダーラインで始めます。
+            例えば:
+        </para>
+
+        <programlisting language="php"><![CDATA[
+class Zend_Queue_Message
+{
+    protected $_data = array();
+}
+]]></programlisting>
+
+        <para>
+            既存のメッセージクラスを拡張できます。
+            <filename>tests/Zend/Queue/Custom/Message.php</filename>でコード例をご覧下さい。
+        </para>
+    </sect2>
+
+    <sect2 id="zend.queue.custom-iterator">
+        <title>独自のメッセージ・イテレータクラスを作成</title>
+
+        <para>
+            <classname>Zend_Queue</classname>は、独自のメッセージ・イテレータ・クラスも扱います。
+            メッセージ・イテレータ・クラスは、
+            <methodname>Zend_Queue_Adapter_Abstract::recieve()</methodname>からメッセージを返すために使われます。
+            たとえメッセージが1つだけだとしても、
+            <methodname>Zend_Queue_Abstract::receive()</methodname>は、
+            <classname>Zend_Queue_Message_Iterator</classname>のようなコンテナ・クラスを常に返さなければなりません。
+        </para>
+
+        <para>
+            <filename>tests/Zend/Queue/Custom/Messages.php</filename>でファイル名の例をご覧ください。
+        </para>
+    </sect2>
+
+    <sect2 id="zend.queue.custom.queue">
+        <title>独自の待ち行列クラスを作成</title>
+
+        <para>
+            <classname>Zend_Queue</classname>は上書きすることも簡単にできます。
+        </para>
+
+        <para>
+            <filename>tests/Zend/Queue/Custom/Queue.php</filename>でファイル名の例をご覧ください。
+        </para>
+    </sect2>
+</sect1>