Cake-PHP.ru
Форум программистов CakePHP
(на сайт)
Watched Topics
FAQ
Поиск
Пользователи
Группы
Регистрация
Профиль
Войти и проверить личные сообщения
Вход
Список форумов Cake-PHP.ru
->
Общий
Ответить
Имя
Тема
Сообщение
Смайлики
Дополнительные смайлики
Цвет шрифта:
По умолчанию
Тёмно-красный
Красный
Оранжевый
Коричневый
Жёлтый
Зелёный
Оливковый
Голубой
Синий
Тёмно-синий
Индиго
Фиолетовый
Белый
Чёрный
Размер шрифта:
Размер шрифта
Очень маленький
Маленький
Обычный
Большой
Огромный
Закрыть теги
Настройки
HTML
ВЫКЛЮЧЕН
BBCode
ВКЛЮЧЕН
Смайлики
ВКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Отключить в этом сообщении смайлики
Если у вас плохое зрение или вы не можете прочесть этот код по какой-то другой причине, то обратитесь за помощью к
Администратору
.
Код подтверждения: *
Введите код в точности так, как вы его видите. Код является регистро-зависимым, а символ нуля имеет косую линию внутри цифры.
Часовой пояс: GMT + 3
Перейти:
Выберите форум
CakePHP Форум
----------------
Общий
Установка и настройка
Творчество
Вопросы и пожелания
Комментарии к главам руководства по CakePHP 1.1
Обзор темы
Автор
Сообщение
vasy@
Добавлено: 08 Янв 2008 13:37:53
Заголовок сообщения:
Как это не написано ?
А
тут
про ЭТО можно почитать.
Тут же 5 уроков на тему "Быстрое создание Web-сайтов с помощью CakePHP"
Борис
Добавлено: 08 Янв 2008 13:28:57
Заголовок сообщения:
vasy@ писал(а):
По поводу способа - могу предложить альтернативу.
...
Спасибо, мне и нужна была генерация подобного кода. Просто у меня версия 1.2, а там на вопрос "Would you like to use scaffolding? (y/n)" я отвечал да, тогда он вместо генерации кодов функций просто вставляет var $scaffold;. Сейчас ответил нет - он вставил текст функций. Жаль, что нигде об этом ничего не написано.
vasy@
Добавлено: 08 Янв 2008 12:57:05
Заголовок сообщения:
По поводу способа - могу предложить альтернативу.
В папке ..\cake\cake\scripts есть файл bake.php.
Если его запустить в консоли через интерпритатор php.exe (что-то типа c:\php\php.exe bake.php)? то следуя его подсказкам можно создать неплохой каркас для бедещего проекта.
Код:
C:\wamp\www\cake\cake\scripts>c:\php\php.exe bake.php
Bake -app in C:\wamp\www\cake\app (y/n)
[y] >
Baking...
---------------------------------------------------------------
Name: app
Path: C:\wamp\www\cake\app
---------------------------------------------------------------
[M]odel
[C]ontroller
[V]iew
What would you like to Bake? (M/V/C)
> c
---------------------------------------------------------------
Controller Bake:
---------------------------------------------------------------
Possible Controllers based on your current database:
1. Firms
2. Forms
Enter a number from the list above, or type in the name of another controller.> 2
Would you like bake to build your controller interactively?
Warning: Choosing no will overwrite controller if it exist. (y/n)[y] > n
Would you like to include some basic class methods (index(), add(), view(), edit())? (y/n)
[y] > y
Would you like to create the methods for admin routing? (y/n)[y] > n
Content-type: text/html
X-Powered-By: PHP/4.3.10
Creating file C:\wamp\www\cake\app\controllers\forms_controller.php
WroteC:\wamp\www\cake\app\controllers\forms_controller.php
Cake test suite not installed. Do you want to bake unit test files anyway? (y/n)
[y] > y
You can download the Cake test suite from http://cakeforge.org/projects/testsuite/
Baking unit test for Forms...
Creating file C:\wamp\www\cake\app\tests\cases\controllers\forms_controller.test.php
после примерно такого диалога получаем контроллер для forms
Код:
<?php
class FormsController extends AppController {
var $name = 'Forms';
var $helpers = array('Html', 'Form' );
function index() {
$this->Form->recursive = 0;
$this->set('forms', $this->Form->findAll());
}
function view($id = null) {
if (!$id) {
$this->Session->setFlash('Invalid id for Form.');
$this->redirect('/forms/index');
}
$this->set('form', $this->Form->read(null, $id));
}
function add() {
if (empty($this->data)) {
$this->render();
} else {
$this->cleanUpFields();
if ($this->Form->save($this->data)) {
$this->Session->setFlash('The Form has been saved');
$this->redirect('/forms/index');
} else {
$this->Session->setFlash('Please correct errors below.');
}
}
}
function edit($id = null) {
if (empty($this->data)) {
if (!$id) {
$this->Session->setFlash('Invalid id for Form');
$this->redirect('/forms/index');
}
$this->data = $this->Form->read(null, $id);
} else {
$this->cleanUpFields();
if ($this->Form->save($this->data)) {
$this->Session->setFlash('The Form has been saved');
$this->redirect('/forms/index');
} else {
$this->Session->setFlash('Please correct errors below.');
}
}
}
function delete($id = null) {
if (!$id) {
$this->Session->setFlash('Invalid id for Form');
$this->redirect('/forms/index');
}
if ($this->Form->del($id)) {
$this->Session->setFlash('The Form deleted: id '.$id.'');
$this->redirect('/forms/index');
}
}
}
?>
в дальнейшем , получив стартовый толчёк, можно переделывать controller, model или view как угодно душе или заказчику.
Борис
Добавлено: 08 Янв 2008 00:40:57
Заголовок сообщения: Как узнать код, который "генеририрует" var $scaffo
Добрый день!
Сегодня автоматом "испёк" несколько view и colntroller. В последних всю логику выполняло объявление "var $scaffold:". Здорово, что мне подготовили некоторый стандартный вариант - это очень удобно для тестирования. Но мне необходимо слегка модифицировать логику выполнения, для чего необходимо самому реализовать функции index, add, edit, delete. Меня бы полностью устроила ситуация, если бы CakePHP мне показал тот текст, который реально используется, чтобы я мог его лишь дорабатывать, а не писать всё с нуля.
Есть ли способ вытащить код, который "сгенерирует" var $scaffold для конкретного controller`а?
Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB
Если ничего интересного не нашли, можно рекламу почитать, а рекламируется у нас сегодня «».