<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0">
<channel>
<title>CakePHP - Manual/Developing/Helpers/CreatingHelpers</title>
<link>http://cake-php.ru/wiki/Manual/Developing/Helpers/CreatingHelpers</link>
<description>History/revisions of CakePHP/Manual/Developing/Helpers/CreatingHelpers</description>
<language>en-us</language>
<item>
<title>2009-03-15 13:51:04</title>
<link>http://cake-php.ru/wiki/Manual/Developing/Helpers/CreatingHelpers/show?time=2009-03-15+13%3A51%3A04</link>
<description>&lt;div class="pageBefore">&lt;img src="http://cake-php.ru/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a name=".manual.developing.helpers.creatinghelpers" href="http://cake-php.ru/wiki/Manual/Developing/Helpers/CreatingHelpers" class="">/Manual&amp;nbsp;/&amp;nbsp;Developing&amp;nbsp;/&amp;nbsp;Helpers&amp;nbsp;/&amp;nbsp;Creating&amp;nbsp;Helpers&lt;/a> за &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Helpers/CreatingHelpers?time=2009-03-15+13%3A51%3A04">2009-03-15 13:51:04&lt;/a> и &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Helpers/CreatingHelpers">2009-03-15 13:51:14&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">Не&amp;nbsp;забывайте, в&amp;nbsp;случае необходимости, подключать &lt;span class="missingpage">Form&amp;nbsp;Helper&lt;/span>&lt;a href="http://cake-php.ru/wiki/FormHelper/edit?add=1" title="Создать эту страницу">?&lt;/a> в&amp;nbsp;массиве $helpers. &lt;br />
Хелперы Html и&amp;nbsp;Session (если сессии включены) всегда доступны.&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">Не&amp;nbsp;забывайте, в&amp;nbsp;случае необходимости, подключать &lt;span class="missingpage">Form&amp;nbsp;Helper&lt;/span>&lt;a href="http://cake-php.ru/wiki/FormHelper/edit?add=1" title="Создать эту страницу">?&lt;/a> в&amp;nbsp;массиве $helpers. Хелперы Html и&amp;nbsp;Session (если сессии включены) всегда доступны.&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2009-03-15 13:38:30</title>
<link>http://cake-php.ru/wiki/Manual/Developing/Helpers/CreatingHelpers/show?time=2009-03-15+13%3A38%3A30</link>
<description>&lt;div class="pageBefore">&lt;img src="http://cake-php.ru/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://cake-php.ru/wiki/Manual/Developing/Helpers/CreatingHelpers" class="">/Manual&amp;nbsp;/&amp;nbsp;Developing&amp;nbsp;/&amp;nbsp;Helpers&amp;nbsp;/&amp;nbsp;Creating&amp;nbsp;Helpers&lt;/a> за &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Helpers/CreatingHelpers?time=2009-03-15+13%3A38%3A30">2009-03-15 13:38:30&lt;/a> и &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Helpers/CreatingHelpers?time=2009-03-15+13%3A51%3A04">2009-03-15 13:51:04&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">&lt;a name="h855-1">&lt;/a>&lt;h3>Использование вашего хелпера&lt;/h3>
После того, как&amp;nbsp;вы&amp;nbsp;создали свой хелпер и&amp;nbsp;разместили его&amp;nbsp;в&amp;nbsp;/app/views/helpers/, вы&amp;nbsp;можете подключать его&amp;nbsp;в&amp;nbsp;ваши контроллеры, используя специальную переменную $helpers.&lt;br />
Когда контроллер уже&amp;nbsp;осведомлен об&amp;nbsp;этом новом классе, вы&amp;nbsp;можете использовать этот класс в&amp;nbsp;ваших отображениях через переменную, названную также, как&amp;nbsp;и&amp;nbsp;хелпер: &lt;br />
&amp;lt;!-- создаем линк, используя новый хелпер --&amp;gt;&lt;br />
&amp;lt;?php echo $link-&amp;gt;makeEdit('Change this Recipe', '/recipes/edit/5') ?&amp;gt;&lt;br />
Не&amp;nbsp;забывайте, в&amp;nbsp;случае необходимости, подключать &lt;span class="missingpage">Form&amp;nbsp;Helper&lt;/span>&lt;a href="http://cake-php.ru/wiki/FormHelper/edit?add=1" title="Создать эту страницу">?&lt;/a> в&amp;nbsp;массиве $helpers. Хелперы Html и&amp;nbsp;Session (если сессии включены) всегда доступны.&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2009-03-13 11:37:14</title>
<link>http://cake-php.ru/wiki/Manual/Developing/Helpers/CreatingHelpers/show?time=2009-03-13+11%3A37%3A14</link>
<description>&lt;div class="pageBefore">&lt;img src="http://cake-php.ru/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://cake-php.ru/wiki/Manual/Developing/Helpers/CreatingHelpers" class="">/Manual&amp;nbsp;/&amp;nbsp;Developing&amp;nbsp;/&amp;nbsp;Helpers&amp;nbsp;/&amp;nbsp;Creating&amp;nbsp;Helpers&lt;/a> за &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Helpers/CreatingHelpers?time=2009-03-13+11%3A37%3A14">2009-03-13 11:37:14&lt;/a> и &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Helpers/CreatingHelpers?time=2009-03-15+13%3A38%3A30">2009-03-15 13:38:30&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">Допустим, мы&amp;nbsp;хотим создать хелпер, который будет использоваться в&amp;nbsp;различных местах вашего приложения для&amp;nbsp;вывода, специально созданного (со стилями из&amp;nbsp;CSS) линка. Для&amp;nbsp;этого вам&amp;nbsp;необходимо создать новый класс в&amp;nbsp;/app/views/helpers. Давайте назовем наш&amp;nbsp;хелпер &lt;!--notypo-->LinkHelper&lt;!--/notypo-->. Реальный PHP&amp;nbsp;файл с&amp;nbsp;классом будет выглядеть так: &lt;br />
&lt;!--notypo-->&lt;div class="code">&lt;code>&lt;span style="color: #000000">
&lt;span style="color: #0000BB">&amp;lt;?php&lt;br />&lt;/span>&lt;span style="color: #FF8000">/*&amp;nbsp;/app/views/helpers/link.php&amp;nbsp;*/&lt;br />&lt;/span>&lt;span style="color: #007700">class&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">LinkHelper&amp;nbsp;&lt;/span>&lt;span style="color: #007700">extends&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">AppHelper&amp;nbsp;&lt;/span>&lt;span style="color: #007700">{&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;function&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">makeEdit&lt;/span>&lt;span style="color: #007700">(&lt;/span>&lt;span style="color: #0000BB">$title&lt;/span>&lt;span style="color: #007700">,&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">$url&lt;/span>&lt;span style="color: #007700">)&amp;nbsp;{&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span>&lt;span style="color: #FF8000">//&amp;nbsp;здесь&amp;nbsp;код&amp;nbsp;по&amp;nbsp;созданию&amp;nbsp;линка&amp;nbsp;...&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span>&lt;span style="color: #007700">}&lt;br />}&lt;br />&lt;/span>&lt;span style="color: #0000BB">?&amp;gt;&lt;/span>
&lt;/span>
&lt;/code>&lt;/div>&lt;!--/notypo-->&lt;br />
В&amp;nbsp;Helper классе &lt;!--notypo-->CakePHP&lt;!--/notypo--> существует несколько методов, которые вы&amp;nbsp;можете захотеть использовать:&lt;br />
&lt;div class="indent"> &lt;strong>output(string $string)&lt;/strong>&lt;/div>
Используйте эту&amp;nbsp;функцию для&amp;nbsp;передачи любых данных обратно в&amp;nbsp;ваше отображение.&lt;br />
&lt;!--notypo-->&lt;div class="code">&lt;code>&lt;span style="color: #000000">
&lt;span style="color: #0000BB">&amp;lt;?php&lt;br />&lt;/span>&lt;span style="color: #007700">function&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">makeEdit&lt;/span>&lt;span style="color: #007700">(&lt;/span>&lt;span style="color: #0000BB">$title&lt;/span>&lt;span style="color: #007700">,&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">$url&lt;/span>&lt;span style="color: #007700">)&amp;nbsp;{&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span>&lt;span style="color: #FF8000">//&amp;nbsp;Используем&amp;nbsp;функцию&amp;nbsp;хелпера&amp;nbsp;output&amp;nbsp;для&amp;nbsp;передачи&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;отформатированных&amp;nbsp;данных&amp;nbsp;обратно&amp;nbsp;в&amp;nbsp;отображение:&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span>&lt;span style="color: #007700">return&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">$this&lt;/span>&lt;span style="color: #007700">-&amp;gt;&lt;/span>&lt;span style="color: #0000BB">output&lt;/span>&lt;span style="color: #007700">(&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span>&lt;span style="color: #DD0000">"&amp;lt;div&amp;nbsp;class=\"editOuter\"&amp;gt;&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;a&amp;nbsp;href=\"&lt;/span>&lt;span style="color: #0000BB">$url&lt;/span>&lt;span style="color: #DD0000">\"&amp;nbsp;class=\"edit\"&amp;gt;&lt;/span>&lt;span style="color: #0000BB">$title&lt;/span>&lt;span style="color: #DD0000">&amp;lt;/a&amp;gt;&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/div&amp;gt;"&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span>&lt;span style="color: #007700">);&lt;br />}&lt;br />&lt;/span>&lt;span style="color: #0000BB">?&amp;gt;&lt;/span>
&lt;/span>
&lt;/code>&lt;/div>&lt;!--/notypo-->&lt;br />
&lt;hr noshade="noshade" size="1" />&lt;a name="h855-1">&lt;/a>&lt;h3>Подключение других хелперов&lt;/h3>
Вы&amp;nbsp;можете захотеть использовать некоторую функциональность уже&amp;nbsp;существующую в&amp;nbsp;других хелперах. Для&amp;nbsp;этого вы&amp;nbsp;можете определить хелперы, которые хотите использовать, с&amp;nbsp;помощью массива $helpers. &lt;br />
&lt;!--notypo-->&lt;div class="code">&lt;code>&lt;span style="color: #000000">
&lt;span style="color: #0000BB">&amp;lt;?php&lt;br />&lt;/span>&lt;span style="color: #FF8000">/*&amp;nbsp;/app/views/helpers/link.php&amp;nbsp;(использование&amp;nbsp;других&amp;nbsp;хелперов)&amp;nbsp;*/&lt;br />&lt;/span>&lt;span style="color: #007700">class&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">LinkHelper&amp;nbsp;&lt;/span>&lt;span style="color: #007700">extends&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">AppHelper&amp;nbsp;&lt;/span>&lt;span style="color: #007700">{&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">$helpers&amp;nbsp;&lt;/span>&lt;span style="color: #007700">=&amp;nbsp;array(&lt;/span>&lt;span style="color: #DD0000">'Html'&lt;/span>&lt;span style="color: #007700">);&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;function&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">makeEdit&lt;/span>&lt;span style="color: #007700">(&lt;/span>&lt;span style="color: #0000BB">$title&lt;/span>&lt;span style="color: #007700">,&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">$url&lt;/span>&lt;span style="color: #007700">)&amp;nbsp;{&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span>&lt;span style="color: #FF8000">//&amp;nbsp;Используем&amp;nbsp;HTML&amp;nbsp;хелпер&amp;nbsp;для&amp;nbsp;вывода&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;оформатированных&amp;nbsp;данных:&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">$link&amp;nbsp;&lt;/span>&lt;span style="color: #007700">=&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">$this&lt;/span>&lt;span style="color: #007700">-&amp;gt;&lt;/span>&lt;span style="color: #0000BB">Html&lt;/span>&lt;span style="color: #007700">-&amp;gt;&lt;/span>&lt;span style="color: #0000BB">link&lt;/span>&lt;span style="color: #007700">(&lt;/span>&lt;span style="color: #0000BB">$title&lt;/span>&lt;span style="color: #007700">,&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">$url&lt;/span>&lt;span style="color: #007700">,&amp;nbsp;array(&lt;/span>&lt;span style="color: #DD0000">'class'&amp;nbsp;&lt;/span>&lt;span style="color: #007700">=&amp;gt;&amp;nbsp;&lt;/span>&lt;span style="color: #DD0000">'edit'&lt;/span>&lt;span style="color: #007700">));&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">$this&lt;/span>&lt;span style="color: #007700">-&amp;gt;&lt;/span>&lt;span style="color: #0000BB">output&lt;/span>&lt;span style="color: #007700">(&lt;/span>&lt;span style="color: #DD0000">"&amp;lt;div&amp;nbsp;class=\"editOuter\"&amp;gt;&lt;/span>&lt;span style="color: #0000BB">$link&lt;/span>&lt;span style="color: #DD0000">&amp;lt;/div&amp;gt;"&lt;/span>&lt;span style="color: #007700">);&lt;br />&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br />}&lt;br />&lt;/span>&lt;span style="color: #0000BB">?&amp;gt;&lt;/span>
&lt;/span>
&lt;/code>&lt;/div>&lt;!--/notypo-->&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">...&lt;/div>&lt;/div>
</description>
</item>
</channel>
</rss>

