|
|
@@ -5,33 +5,46 @@
|
|
|
<title>JSON</title>
|
|
|
|
|
|
<para>
|
|
|
- Les réponses <acronym>JSON</acronym> sont les réponses de choix dans une architecture de type <acronym>AJAX</acronym> qui
|
|
|
- attend des données structurées. <acronym>JSON</acronym> peut être immédiatement interprété du coté du client,
|
|
|
- ce qui rend la tâche plus simple et plus rapide.
|
|
|
+ Les réponses <acronym>JSON</acronym> sont les réponses de choix dans une
|
|
|
+ architecture de type <acronym>AJAX</acronym> qui attend des données structurées.
|
|
|
+ <acronym>JSON</acronym> peut être immédiatement interprété du coté du client, ce qui
|
|
|
+ rend la tâche plus simple et plus rapide.
|
|
|
</para>
|
|
|
|
|
|
- <para>L'aide d'action <acronym>JSON</acronym> effectue plusieurs traitements :</para>
|
|
|
+ <para>
|
|
|
+ L'aide d'action <acronym>JSON</acronym> effectue plusieurs
|
|
|
+ traitements :
|
|
|
+ </para>
|
|
|
|
|
|
<itemizedlist>
|
|
|
<listitem>
|
|
|
<para>Désactive les layouts si elles sont activées.</para>
|
|
|
</listitem>
|
|
|
+
|
|
|
<listitem>
|
|
|
<para>
|
|
|
Optionnellement, un tableau d'options en second argument de
|
|
|
- <methodname>Zend_Json::encode()</methodname>. Ce tableau d'options permet l'activation des
|
|
|
- layouts et l'encodage en utilisant <classname>Zend_Json_Expr</classname>.
|
|
|
+ <methodname>Zend_Json::encode()</methodname>. Ce tableau d'options permet
|
|
|
+ l'activation des layouts et l'encodage en utilisant
|
|
|
+ <classname>Zend_Json_Expr</classname>.
|
|
|
</para>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
$this->_helper->json($data, array('enableJsonExprFinder' => true));
|
|
|
]]></programlisting>
|
|
|
</listitem>
|
|
|
+
|
|
|
<listitem>
|
|
|
<para>Désactive le ViewRenderer s'il est activé.</para>
|
|
|
</listitem>
|
|
|
+
|
|
|
<listitem>
|
|
|
- <para>Envoie à la réponse un en-tête 'Content-Type' à 'application/json'.</para>
|
|
|
+ <para>
|
|
|
+ Envoie à la réponse un en-tête 'Content-Type' à
|
|
|
+ <filename>application/json</filename>.
|
|
|
+ </para>
|
|
|
</listitem>
|
|
|
+
|
|
|
<listitem>
|
|
|
<para>
|
|
|
Par défaut, retourne immédiatement la réponse, sans attendre la fin de
|
|
|
@@ -41,8 +54,9 @@ $this->_helper->json($data, array('enableJsonExprFinder' => true));
|
|
|
</itemizedlist>
|
|
|
|
|
|
<para>
|
|
|
- Son utilisation est toute simple, appelez le depuis le gestionnaire d'aides (Broker),
|
|
|
- ou appelez une de ses méthodes <methodname>encodeJson()</methodname> ou <methodname>sendJson()</methodname> :
|
|
|
+ Son utilisation est toute simple, appelez le depuis le gestionnaire d'aides
|
|
|
+ (Broker), ou appelez une de ses méthodes <methodname>encodeJson()</methodname> ou
|
|
|
+ <methodname>sendJson()</methodname> :
|
|
|
</para>
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
@@ -65,20 +79,23 @@ class FooController extends Zend_Controller_Action
|
|
|
|
|
|
<note>
|
|
|
<title>Conserver les Layouts</title>
|
|
|
+
|
|
|
<para>
|
|
|
- Si vous avez besoin des layouts, pour par exemple générer vos réponses <acronym>JSON</acronym> dans
|
|
|
- un contexte particulier, chaque méthode de l'aide <acronym>JSON</acronym> accepte un second paramètre
|
|
|
- booléen. A <constant>TRUE</constant>, les layouts resteront activées (par défaut à
|
|
|
- <constant>FALSE</constant>) :
|
|
|
+ Si vous avez besoin des layouts séparés pour les réponses
|
|
|
+ <acronym>JSON</acronym>, pour par exemple générer vos réponses
|
|
|
+ <acronym>JSON</acronym> dans un contexte particulier, chaque méthode de l'aide
|
|
|
+ <acronym>JSON</acronym> accepte un second paramètre booléen. A
|
|
|
+ <constant>TRUE</constant>, les layouts resteront activées :
|
|
|
</para>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
$this->_helper->json($data, true);
|
|
|
]]></programlisting>
|
|
|
|
|
|
<para>
|
|
|
- Optionally, you can pass an array as the second parameter. This
|
|
|
- array may contain a variety of options, including the
|
|
|
- <code>keepLayouts</code> option:
|
|
|
+ Optionnellement, vous pouvez fournir un tableau en tant que second paramètre.
|
|
|
+ Ce tableau peut conftenir une variété d'options, incluant l'option
|
|
|
+ <emphasis>keepLayouts</emphasis> :
|
|
|
</para>
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
@@ -88,21 +105,24 @@ $this->_helper->json($data, array('keepLayouts' => true);
|
|
|
|
|
|
<note>
|
|
|
<title>Activer l'encodage en utilisant Zend_Json_Expr</title>
|
|
|
+
|
|
|
<para>
|
|
|
- <methodname>Zend_Json::encode()</methodname> permet l'encodage des expressions <acronym>JSON</acronym> natives en
|
|
|
- utilisant des objets <classname>Zend_Json_Expr</classname>. Cette option est désactivée par
|
|
|
- défaut. Pour l'activer, fournissez la valeur booléenne <constant>TRUE</constant> à l'option
|
|
|
- <code>enableJsonExprFinder</code> :
|
|
|
+ <methodname>Zend_Json::encode()</methodname> permet l'encodage des
|
|
|
+ expressions <acronym>JSON</acronym> natives en utilisant des objets
|
|
|
+ <classname>Zend_Json_Expr</classname>. Cette option est désactivée par défaut. Pour
|
|
|
+ l'activer, fournissez la valeur booléenne <constant>TRUE</constant> à l'option
|
|
|
+ <emphasis>enableJsonExprFinder</emphasis> :
|
|
|
</para>
|
|
|
+
|
|
|
<programlisting language="php"><![CDATA[
|
|
|
$this->_helper->json($data, array('enableJsonExprFinder' => true);
|
|
|
]]></programlisting>
|
|
|
|
|
|
<para>
|
|
|
- Si vous souhaitez faire ceci, vous <emphasis>devez</emphasis> un tableau en tant que
|
|
|
- second argument. Ceci vous permet aussi de combiner avec les autres options, comme
|
|
|
- l'option <code>keepLayouts</code>. Toutes ces options sont alors fournies à
|
|
|
- <methodname>Zend_Json::encode()</methodname>.
|
|
|
+ Si vous souhaitez faire ceci, vous <emphasis>devez</emphasis> un tableau en
|
|
|
+ tant que second argument. Ceci vous permet aussi de combiner avec les autres
|
|
|
+ options, comme l'option <emphasis>keepLayouts</emphasis>. Toutes ces options sont
|
|
|
+ alors fournies à <methodname>Zend_Json::encode()</methodname>.
|
|
|
</para>
|
|
|
|
|
|
<programlisting language="php"><![CDATA[
|