Home PageКаталог Изменения НовыеКомментарии Пользователи Регистрация
CakePHP: Manual/Developing/Controllers/Methods ...
Это старая версия Manual/Developing/Controllers/Methods за 2009-02-08 12:27:43..

Методы контроллера



set

set(string $var, mixed $value)


set() метод – это основной способ передачи данных из контроллера в отображение. После вызова функции set() указанная переменная будет доступна в отображении.


<?php
    
//Сначала вы передаете данные из контроллера:

$this->set('color''розовую');

//Затем, в отображении вы можете использовать данные:
?>

Вы выбрали <?php echo $color?> сахарную глазурь для кекса.


Функция set() также может принимать массив в качестве первого параметра. Часто это может быть быстрым способом для передачи большого количества информации в отображение.


Индексы массива будут преобразованы при передаче в отображение 
('underscored_key' станет 'underscoredKey', и т.д.):
<?php
    
$data 
= array(
    
'color' => 'розовый',
    
'type' => 'сахар',
    
'base_price' => 23.95
);

//сделаем $color, $type, and $basePrice 
//доступными в отображении:

$this->set($data);  

?>


render

render(string $action, string $layout, string $file)


Функция render() автоматически вызывается в конце каждого запрошенного действия контроллера. Этот метод выполняет вывод отображения (используя данные, которые вы передали с помощью функции set()), размещает отображение внутри макета и выводит его для пользователя.


Файл отображения по умолчанию, используемый функцией render(), определен соглашением. Если запрошено действие search() контроллера RecipesController, то файл отображения в /app/views/recipes/search.ctp будет визуализирован.


class RecipesController extends AppController {
...
    function search() {
        // Рендерит отображение /views/recipes/search.ctp
        $this->render();
    }
...
}


CakePHP будет автоматически вызывать render после каждого действия (пока не установите $this->autoRender = false). Вы можете использовать это для назначения альтернативного файла отображения, присвоив в контроллере переменной $action нужное имя действия.


Если $action начинается с '/', значит предполагается файл отображения из каталога /app/views. Это позволяет напрямую рендерить элементы, что очень полезно при ajax вызовах.



 
Комментарии
конечно это облегчает представление, но как работу над кодом замедляет( Блин не люблю ООП, рабские языки. Но надо учить, что делать.
ip-84-133.dnepro.net (2011-12-06 18:10:20)
OOP – нормальный стиль, просто некоторые разработчики чрезмерно увлекаются «самореализацией», вместо построения адекватной архитектуры и удобного интерфейса.
46.211.219.152 (2012-01-24 12:15:11)
Добавить комментарий:

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