Zend_Controller-Plugins-ActionStack.xml 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!-- EN-Revision: 24249 -->
  3. <!-- Reviewed: no -->
  4. <sect3 id="zend.controller.plugins.standard.actionstack">
  5. <title>ActionStack</title>
  6. <para>
  7. Le plugin <code>ActionStack</code> vous permet de gérer une pile de requêtes en
  8. opérant en <code>postDispatch</code>. Si un forward (un appel à une autre action) est
  9. détecté, alors le plugin n'agira pas. Dans le cas contraire cependant, sa pile est analysée
  10. (en ordre LIFO : dernier empilé, premier dépilé) et une nouvelle action est distribuée. Ce
  11. plugin est commandé par l'aide d'action du même nom
  12. <link linkend="zend.controller.actionhelpers.actionstack">ActionStack</link>
  13. </para>
  14. <para>
  15. Vous pouvez récupérer ce plugin grâce à
  16. <methodname>Zend_Controller_Front::getPlugin('Zend_Controller_Plugin_ActionStack')</methodname>.
  17. Une fois l'objet retourné, voici les méthodes qui y sont proposées&#160;:
  18. </para>
  19. <itemizedlist>
  20. <listitem>
  21. <para>
  22. <methodname>getRegistry()</methodname> et <methodname>setRegistry()</methodname>. En interne,
  23. <code>ActionStack</code> utilise <classname>Zend_Registry</classname> pour stocker
  24. sa pile. Vous pouvez manipuler l'instance du registre utilisée grâce à ces
  25. méthodes.
  26. </para>
  27. </listitem>
  28. <listitem>
  29. <para>
  30. <methodname>getRegistryKey()</methodname> et <methodname>setRegistryKey()</methodname>. Ces méthodes
  31. vous donnent accès à la clé utilisée dans le registre, pour stocker la pile
  32. d'actions de ActionStack. Par défaut, il s'agit de
  33. <classname>Zend_Controller_Plugin_ActionStack</classname>.
  34. </para>
  35. </listitem>
  36. <listitem>
  37. <para><methodname>getStack()</methodname> retourne la pile (entière) d'actions.</para>
  38. </listitem>
  39. <listitem>
  40. <para>
  41. <methodname>pushStack()</methodname> et <methodname>popStack()</methodname> contrôlent la pile.
  42. <methodname>popStack()</methodname> supprime l'action la plus haute dans la pile (l'action à
  43. venir), et vous la retourne. <methodname>pushStack()</methodname> rajoute une action sur la
  44. pile. Vous devez la passer en paramètre donc.
  45. </para>
  46. </listitem>
  47. </itemizedlist>
  48. <para>
  49. La méthode <methodname>forward()</methodname>, elle, est directe : elle attend un objet de
  50. requête qu'elle passe immédiatement au contrôleur frontal en redemandant un jeton de
  51. distribution.
  52. </para>
  53. </sect3>