[MANUAL] English:
[zend.git] / documentation / manual / ru / module_specs / Zend_Controller-Plugins-ActionStack.xml
blob05eece116ec754020b6bf1be8610861d92c88a6e
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Reviewed: no -->
3 <sect3 id="zend.controller.plugins.standard.actionstack">
4     <title>ActionStack</title>
6     <para>
7         Плагин <code>ActionStack</code> позволяет управлять стеком запросов и
8         действует как плагин <code>postDispatch</code>. Если в текущем
9         объекте запроса уже задан переход на другое действие, то ничего не
10         делается. Иначе плагин проверяет свой стек, тянет самый
11         верхний элемент и производит переход на действие, заданное в этом
12         запросе. Стек обрабатывается в порядке "последний вошел - первый
13         вышел" (last-in-first-out, LIFO).
14     </para>
16     <para>
17         Вы можете извлечь плагин из фронт-контроллера в любой момент времени,
18         используя <code>Zend_Controller_Front::getPlugin('Zend_Controller_Plugin_ActionStack')</code>.
19         Имея объект плагина, вы можете использовать различные методы для
20         управления им.
21     </para>
23     <itemizedlist>
24         <listitem><para>
25                 <code>getRegistry()</code> и <code>setRegistry()</code>.
26                 Внутри себя <code>ActionStack</code> использует экземпляр
27                 <classname>Zend_Registry</classname> для хранения стека. Вы можете с
28                 помощью этих аксессоров заменить экземпляр реестра на другой или
29                 извлечь его.
30         </para></listitem>
32         <listitem><para>
33                 <code>getRegistryKey()</code> и <code>setRegistryKey()</code>.
34                 Они могут использоваться для определения того, какой ключ
35                 реестра используется при извлечении стека. По умолчанию
36                 используется ключ 'Zend_Controller_Plugin_ActionStack'.
37         </para></listitem>
39         <listitem><para>
40                 <code>getStack()</code> позволяет извлечь стек действий целиком.
41         </para></listitem>
43         <listitem><para>
44                 <code>pushStack()</code> и <code>popStack()</code> позволяют
45                 соответственно добавлять и извлекать из стека.
46                 <code>pushStack()</code> принимает объект запроса.
47         </para></listitem>
48     </itemizedlist>
50     <para>
51         Дополнительный метод <code>forward()</code> ожидает объект запроса в
52         качестве аргумента и устанавливает состояние текущего объекта запроса во
53         фронт-контроллере в состояние переданного объекта запроса, помечая его
54         как необработанный диспетчером (что приводит к еще одной итерации цикла
55         диспетчеризации).
56     </para>
57 </sect3>
58 <!--
59 vim:se ts=4 sw=4 et:
60 -->