Скаффолдинг (scaffolding) – это технология, позволяющая разработчикам определять и разрабатывать базовые приложения, способные создавать, получать, изменять и удалять объекты. Кроме того, скаффолдинг в CakePHP позволяет разработчикам определять, как объекты связаны между собой, а также создавать и разрывать такие связи.
Все, что вам необходимо для создания скаффолдинга – это модель и её контроллер. Определив в файле контроллера переменную $scaffold, вы будете готовы к работе.
Скаффолдинг CakePHP очень хорош. Он позволяет в считанные минуты создать базовое CRUD-приложение. Он настолько хорош, что вам захочется использовать его при создании приложений. Сейчас мы тоже думаем, что это классно, но, пожалуйста, поймите, что скаффолдинг – это просто рабочая платформа. Это – шаткая структура, которая поможет на старте проекта действительно быстро с чего-то начать. Скаффолдинг не обладает полной гибкостью, это только временный путь, чтобы подняться и пойти. Если вы находите необходимым изменить логику или отображения, самое время убрать скаффолдинг и начать писать код. Описанная в следующей главе, консоль Bake CakePHP – отличный шаг далее: она сгенерирует весь необходимый код, чтобы получить такой же результат, как и при использовании скаффолдинга.
Скаффолдинг – хороший путь на этапах проектирования веб-приложений. Схема БД на ранних этапах разработки является предметом изменений. У этого есть обратная сторона: веб-разработчик ненавидит создавать формы, реальной пользы которых никогда не увидит. Для уменьшения нагрузки на разработчика, в CakePHP был включен скаффолдинг. Механизм скаффолдинга анализирует ваши таблицы и создает стандартные списки, кнопки «добавить», «удалить» и «изменить», а также стандартные формы для редактирования, и отображение для просмотра отдельных элементов, хранящихся в БД.
Для добавления скаффолдинга, определите в контроллере переменную $scaffold:
<?php
class CategoriesController extends AppController {
var $scaffold;
}
?>