[GENERIC] Zend_Translate:
[zend.git] / documentation / manual / ja / module_specs / Zend_View-Helpers-Json.xml
blobe34ee121b2e7052d12eafb715ee8edc46945d5ba
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Reviewed: no -->
3 <!-- EN-Revision: 19434 -->
4 <sect3 id="zend.view.helpers.initial.json">
5     <title>JSON ヘルパー</title>
7     <para>
8         <acronym>JSON</acronym> を返すビューを作成する際に大事なのは、
9         適切なレスポンスヘッダを設定することです。
10         <acronym>JSON</acronym> ビューヘルパーは、まさにその作業を行います。
11         さらに、デフォルトでレイアウト機能を無効にします (現在有効である場合)。
12         <acronym>JSON</acronym> レスポンスでは通常レイアウト機能は使わないからです。
13     </para>
15     <para>
16         <acronym>JSON</acronym> ヘルパーは次のようなヘッダを設定します。
17     </para>
19     <programlisting language="text"><![CDATA[
20 Content-Type: application/json
21 ]]></programlisting>
23     <para>
24         たいていの <acronym>AJAX</acronym> ライブラリは、
25         レスポンスでこのヘッダを見つけると適切に処理してくれます。
26     </para>
28     <para>
29         <acronym>JSON</acronym> ヘルパーの使用法は、このように非常に単純です。
30     </para>
32     <programlisting language="php"><![CDATA[
33 <?php echo $this->json($this->data) ?>
34 ]]></programlisting>
36     <note>
37         <title>レイアウトの維持、およびZend_Json_Expr によるエンコードの有効化</title>
39         <para>
40             <acronym>JSON</acronym> ヘルパーの各メソッドには、オプションで 2 番目の引数を指定できます。
41             この 2 番目の引数は、レイアウト機能の有効/無効を指定する boolean フラグか
42             あるいは <methodname>Zend_Json::encode()</methodname>
43             に渡して内部的なデータのエンコードに使用するオプションの配列となります。
44         </para>
46         <para>
47             レイアウトを維持するには、2 番目のパラメータを
48             <constant>TRUE</constant> としなければなりません。
49             2 番目のパラメータを配列ににする場合にレイアウトを維持するには、配列に
50             <property>keepLayouts</property> というキーを含め、その値を
51             <constant>TRUE</constant> にします。
52         </para>
54         <programlisting language="php"><![CDATA[
55 // 2 番目の引数に true を指定するとレイアウトが有効になります
56 echo $this->json($this->data, true);
58 // あるいは、キー "keepLayouts" に true を指定します
59 echo $this->json($this->data, array('keepLayouts' => true));
60 ]]></programlisting>
62         <para>
63             <methodname>Zend_Json::encode()</methodname> は、ネイティブ <acronym>JSON</acronym> 式を
64             <classname>Zend_Json_Expr</classname> オブジェクトを使用してエンコードできます。
65             このオプションはデフォルトでは無効になっています。
66             有効にするには、<property>enableJsonExprFinder</property>
67             オプションに <constant>TRUE</constant> を設定します。
68         </para>
70         <programlisting language="php"><![CDATA[
71 <?php echo $this->json($this->data, array(
72     'enableJsonExprFinder' => true, 
73     'keepLayouts'          => true,
74 )) ?>
75 ]]></programlisting>
76     </note>
77 </sect3>
78 <!--
79 vim:se ts=4 sw=4 et:
80 -->