<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0">
<channel>
<title>CakePHP - Manual/Developing/Scaffolding</title>
<link>http://cake-php.ru/wiki/Manual/Developing/Scaffolding</link>
<description>History/revisions of CakePHP/Manual/Developing/Scaffolding</description>
<language>en-us</language>
<item>
<title>2009-03-17 13:21:18</title>
<link>http://cake-php.ru/wiki/Manual/Developing/Scaffolding/show?time=2009-03-17+13%3A21%3A18</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.scaffolding" href="http://cake-php.ru/wiki/Manual/Developing/Scaffolding" class="">/Manual&amp;nbsp;/&amp;nbsp;Developing&amp;nbsp;/&amp;nbsp;Scaffolding&lt;/a> за &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Scaffolding?time=2009-03-17+13%3A21%3A18">2009-03-17 13:21:18&lt;/a> и &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Scaffolding">2009-03-17 13:21:58&lt;/a>&lt;/b>&lt;br />
&lt;br />
No differences.&lt;/div>
</description>
</item>
<item>
<title>2009-03-17 12:45:21</title>
<link>http://cake-php.ru/wiki/Manual/Developing/Scaffolding/show?time=2009-03-17+12%3A45%3A21</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/Scaffolding" class="">/Manual&amp;nbsp;/&amp;nbsp;Developing&amp;nbsp;/&amp;nbsp;Scaffolding&lt;/a> за &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Scaffolding?time=2009-03-17+12%3A45%3A21">2009-03-17 12:45:21&lt;/a> и &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Scaffolding?time=2009-03-17+13%3A21%3A18">2009-03-17 13:21:18&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">&lt;a name="h810-1">&lt;/a>&lt;h1> Изменение отображений скаффолдинга &lt;/h1>
Если вы&amp;nbsp;захотите немного изменить отображениях скаффолдинга, то&amp;nbsp;вы можете создать шаблоны. Мы&amp;nbsp;не рекомендуем использовать данную технику в&amp;nbsp;производственных приложениях, но&amp;nbsp;такие изменения могут быть полезными при&amp;nbsp;создании прототипа.&lt;br />
Изменение выполняется путем создания шаблонов.&lt;br />
Измененные отображения скаффолдинга для&amp;nbsp;определенного контроллера &lt;br />
(в данном примере &amp;ndash; &lt;span class="missingpage">Posts&amp;nbsp;Controller&lt;/span>&lt;a href="http://cake-php.ru/wiki/PostsController/edit?add=1" title="Создать эту страницу">?&lt;/a>) должны быть размещены так:&lt;br />
/app/views/posts/scaffold.index.ctp&lt;br />
/app/views/posts/scaffold.show.ctp&lt;br />
/app/views/posts/scaffold.edit.ctp&lt;br />
/app/views/posts/scaffold.new.ctp&lt;br />
Измененные отображения скаффолдинга для&amp;nbsp;всех контроллеров&lt;br />
должны быть размещены так:&lt;br />
/app/views/scaffolds/index.ctp&lt;br />
/app/views/scaffolds/show.ctp&lt;br />
/app/views/scaffolds/edit.ctp&lt;br />
/app/views/scaffolds/new.ctp&lt;br />
/app/views/scaffolds/add.ctp&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2009-03-17 12:40:26</title>
<link>http://cake-php.ru/wiki/Manual/Developing/Scaffolding/show?time=2009-03-17+12%3A40%3A26</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/Scaffolding" class="">/Manual&amp;nbsp;/&amp;nbsp;Developing&amp;nbsp;/&amp;nbsp;Scaffolding&lt;/a> за &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Scaffolding?time=2009-03-17+12%3A40%3A26">2009-03-17 12:40:26&lt;/a> и &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Scaffolding?time=2009-03-17+12%3A45%3A21">2009-03-17 12:45:21&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">Если вы&amp;nbsp;уже создали базовый класс модели Category (в файле /app/models/category.php), то&amp;nbsp;все готово. Посетите '&lt;a href="http://example.com/categories'" target="_blank" title="Внешняя ссылка (откроется в новом окне)" class="outerlink">&lt;img src="http://cake-php.ru/wiki/themes/cake/icons/web.gif" alt="" border="0" />http://example.com/categories'&lt;/a>, чтобы увидеть ваш&amp;nbsp;новый скаффолд.&lt;br />
Cоздание методов в&amp;nbsp;контроллерах, использующих скаффолдинг, может привести к&amp;nbsp;неожиданным результатам.&lt;br />
&lt;span class="missingpage">&amp;lt;&amp;lt; Встроенные помощники&lt;/span>&lt;a href="http://cake-php.ru/wiki/Helpers/CoreHelpers/edit?add=1" title="Создать эту страницу">?&lt;/a> | &lt;span class="missingpage">Консоль CakePHP &amp;gt;&amp;gt;&lt;/span>&lt;a href="http://cake-php.ru/wiki/Console/edit?add=1" title="Создать эту страницу">?&lt;/a>&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">Если вы&amp;nbsp;уже создали базовый класс модели Category (в файле /app/models/category.php), то&amp;nbsp;все готово. Посетите &lt;a href="http://example.com/categories" target="_blank" title="Внешняя ссылка (откроется в новом окне)" class="outerlink">&lt;img src="http://cake-php.ru/wiki/themes/cake/icons/web.gif" alt="" border="0" />http://example.com/categories&lt;/a> чтобы увидеть ваш&amp;nbsp;новый скаффолд.&lt;br />
Cоздание методов в&amp;nbsp;контроллерах, использующих скаффолдинг, может привести к&amp;nbsp;неожиданным результатам.&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2009-03-17 12:31:03</title>
<link>http://cake-php.ru/wiki/Manual/Developing/Scaffolding/show?time=2009-03-17+12%3A31%3A03</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/Scaffolding" class="">/Manual&amp;nbsp;/&amp;nbsp;Developing&amp;nbsp;/&amp;nbsp;Scaffolding&lt;/a> за &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Scaffolding?time=2009-03-17+12%3A31%3A03">2009-03-17 12:31:03&lt;/a> и &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Scaffolding?time=2009-03-17+12%3A40%3A26">2009-03-17 12:40:26&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">Если вы&amp;nbsp;уже создали базовый класс модели Category (в файле /app/models/category.php), то&amp;nbsp;все готово. Посетите &lt;a href="http://example.com/categories" target="_blank" title="Внешняя ссылка (откроется в новом окне)" class="outerlink">&lt;img src="http://cake-php.ru/wiki/themes/cake/icons/web.gif" alt="" border="0" />http://example.com/categories&lt;/a> чтобы увидеть ваш&amp;nbsp;новый скаффолд.&lt;br />
Cоздание методов в&amp;nbsp;контроллерах, использующих скаффолдинг, может привести к&amp;nbsp;неожиданным результатам. &lt;br />
Например, если вы&amp;nbsp;создадите метод index() в&amp;nbsp;контроллере, использующем скаффолдинг, то&amp;nbsp;&lt;br />
будет отрендерн ваш&amp;nbsp;метод index, а&amp;nbsp;не функциональность скаффолдинга.&lt;br />
Скаффолдинг знает об&amp;nbsp;ассоциациях моделей, поэтому если ваша модель Category belongsTo User, то&amp;nbsp;вы увидите связанные ID&amp;nbsp;пользователя в&amp;nbsp;списке категорий. Если вы&amp;nbsp;захотите увидеть что-либо кроме ID&amp;nbsp;(например, имя&amp;nbsp;пользователя), то&amp;nbsp;вы можете определить в&amp;nbsp;модели переменную $displayField.&lt;br />
Давайте определим переменную $displayField в&amp;nbsp;нашем классе User, чтобы связанные с&amp;nbsp;категориями пользователи отображались в&amp;nbsp;скаффолдинге по&amp;nbsp;имени, а&amp;nbsp;не по&amp;nbsp;ID. &lt;br />
class User extends &lt;span class="missingpage">App&amp;nbsp;Model&lt;/span>&lt;a href="http://cake-php.ru/wiki/AppModel/edit?add=1" title="Создать эту страницу">?&lt;/a> {&lt;br />
&lt;div class="indent">&lt;div class="indent">var $name = 'User';&lt;br />
var $displayField = 'first_name';&lt;/div>&lt;/div>&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2009-02-12 20:25:57</title>
<link>http://cake-php.ru/wiki/Manual/Developing/Scaffolding/show?time=2009-02-12+20%3A25%3A57</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/Scaffolding" class="">/Manual&amp;nbsp;/&amp;nbsp;Developing&amp;nbsp;/&amp;nbsp;Scaffolding&lt;/a> за &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Scaffolding?time=2009-02-12+20%3A25%3A57">2009-02-12 20:25:57&lt;/a> и &lt;a href="http://cake-php.ru/wiki/Manual/Developing/Scaffolding?time=2009-03-17+12%3A31%3A03">2009-03-17 12:31:03&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">&lt;br />
Скаффолдинг (scaffolding) &amp;ndash; это&amp;nbsp;технология, позволяющая разработчикам определять и&amp;nbsp;разрабатывать базовые приложения, способные создавать, получать, изменять и&amp;nbsp;удалять объекты. Кроме того, скаффолдинг в&amp;nbsp;&lt;!--notypo-->CakePHP&lt;!--/notypo--> позволяет разработчикам определять, как&amp;nbsp;объекты связаны между собой, а&amp;nbsp;также создавать и&amp;nbsp;разрывать такие связи.&lt;br />
&lt;br />
Все, что&amp;nbsp;вам необходимо для&amp;nbsp;создания скаффолдинга &amp;ndash; это&amp;nbsp;модель и&amp;nbsp;её контроллер. Определив в&amp;nbsp;файле контроллера переменную $scaffold, вы&amp;nbsp;будете готовы к&amp;nbsp;работе.&lt;br />
&lt;br />
Скаффолдинг &lt;!--notypo-->CakePHP&lt;!--/notypo--> очень хорош. Он&amp;nbsp;позволяет в&amp;nbsp;считанные минуты создать базовое CRUD-приложение. Он&amp;nbsp;настолько хорош, что&amp;nbsp;вам захочется использовать его&amp;nbsp;при создании приложений. Сейчас мы&amp;nbsp;тоже думаем, что&amp;nbsp;это классно, но, пожалуйста, поймите, что&amp;nbsp;скаффолдинг &amp;ndash; это&amp;nbsp;просто рабочая платформа. Это&amp;nbsp;&amp;ndash; шаткая структура, которая поможет на&amp;nbsp;старте проекта действительно быстро с&amp;nbsp;чего-то начать. Скаффолдинг не&amp;nbsp;обладает полной гибкостью, это&amp;nbsp;только временный путь, чтобы подняться и&amp;nbsp;пойти. Если вы&amp;nbsp;находите необходимым изменить логику или&amp;nbsp;отображения, самое время убрать скаффолдинг и&amp;nbsp;начать писать код. Описанная в&amp;nbsp;следующей главе, консоль Bake &lt;!--notypo-->CakePHP&lt;!--/notypo--> &amp;ndash; отличный шаг&amp;nbsp;далее: она&amp;nbsp;сгенерирует весь необходимый код, чтобы получить такой же&amp;nbsp;результат, как&amp;nbsp;и&amp;nbsp;при использовании скаффолдинга.&lt;br />
&lt;br />
Скаффолдинг &amp;ndash; хороший путь на&amp;nbsp;этапах проектирования веб-приложений. Схема БД&amp;nbsp;на ранних этапах разработки является предметом изменений. У&amp;nbsp;этого есть обратная сторона: веб-разработчик ненавидит создавать формы, реальной пользы которых никогда не&amp;nbsp;увидит. Для&amp;nbsp;уменьшения нагрузки на&amp;nbsp;разработчика, в&amp;nbsp;&lt;!--notypo-->CakePHP&lt;!--/notypo--> был&amp;nbsp;включен скаффолдинг. Механизм скаффолдинга анализирует ваши таблицы и&amp;nbsp;создает стандартные списки, кнопки &amp;laquo;добавить&amp;raquo;, &amp;laquo;удалить&amp;raquo; и&amp;nbsp;&amp;laquo;изменить&amp;raquo;, а&amp;nbsp;также стандартные формы для&amp;nbsp;редактирования, и&amp;nbsp;отображение для&amp;nbsp;просмотра отдельных элементов, хранящихся в&amp;nbsp;БД.&lt;br />
Для&amp;nbsp;добавления скаффолдинга, определите в&amp;nbsp;контроллере переменную $scaffold:&lt;br />
&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;br />&lt;/span>&lt;span style="color: #007700">class&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">CategoriesController&amp;nbsp;&lt;/span>&lt;span style="color: #007700">extends&amp;nbsp;&lt;/span>&lt;span style="color: #0000BB">AppController&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">$scaffold&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;/div>&lt;/div>
</description>
</item>
</channel>
</rss>
