Home PageКаталог Изменения НовыеКомментарии Пользователи Регистрация
CakePHP: Manual/Developing/Scaffolding ...
Это старая версия Manual/Developing/Scaffolding за 2009-03-17 12:31:03..

Скаффолдинг


Скаффолдинг (scaffolding) – это технология, позволяющая разработчикам определять и разрабатывать базовые приложения, способные создавать, получать, изменять и удалять объекты. Кроме того, скаффолдинг в CakePHP позволяет разработчикам определять, как объекты связаны между собой, а также создавать и разрывать такие связи.


Все, что вам необходимо для создания скаффолдинга – это модель и её контроллер. Определив в файле контроллера переменную $scaffold, вы будете готовы к работе.


Скаффолдинг CakePHP очень хорош. Он позволяет в считанные минуты создать базовое CRUD-приложение. Он настолько хорош, что вам захочется использовать его при создании приложений. Сейчас мы тоже думаем, что это классно, но, пожалуйста, поймите, что скаффолдинг – это просто рабочая платформа. Это – шаткая структура, которая поможет на старте проекта действительно быстро с чего-то начать. Скаффолдинг не обладает полной гибкостью, это только временный путь, чтобы подняться и пойти. Если вы находите необходимым изменить логику или отображения, самое время убрать скаффолдинг и начать писать код. Описанная в следующей главе, консоль Bake CakePHP – отличный шаг далее: она сгенерирует весь необходимый код, чтобы получить такой же результат, как и при использовании скаффолдинга.


Скаффолдинг – хороший путь на этапах проектирования веб-приложений. Схема БД на ранних этапах разработки является предметом изменений. У этого есть обратная сторона: веб-разработчик ненавидит создавать формы, реальной пользы которых никогда не увидит. Для уменьшения нагрузки на разработчика, в CakePHP был включен скаффолдинг. Механизм скаффолдинга анализирует ваши таблицы и создает стандартные списки, кнопки «добавить», «удалить» и «изменить», а также стандартные формы для редактирования, и отображение для просмотра отдельных элементов, хранящихся в БД.
Для добавления скаффолдинга, определите в контроллере переменную $scaffold:


<?php

class CategoriesController extends AppController {
    var 
$scaffold;
}
?>


 
Комментарии
Добавить комментарий:

Файлов нет. [Показать файлы/форму]