MyTetra Share
Делитесь знаниями!
Kohana: Передача параметров в вид, получение содержимого вида
Время создания: 26.10.2011 18:50
Раздел: Компьютер - Программирование - Язык PHP - Kohana
Запись: xintrea/mytetra_syncro/master/base/1319640613tuddmvlvys/text.html на raw.github.com

С объектами вида обычно работают через фабрику объектов.

Чтобы создать переменную с объектом вида, нужно сделать следующее:

$v=View::factory('home');

Тем самым будет создан объект вида $v. Файл вида будет браться из APPLICATION/views/<имя_вида>.php, т.е. в данном случае из APPLICATION/views/home.php.

Если файл с видом лежит в подкаталоге, то путь к нему прописывается через слеш:

$v=View::factory('pages/about');

Передать значение переменной в вид можно следующими способами.

1. Через метод set()

$v->set('header', 'Strong recomendet');

$v->set('message', 'This is message');

2. Через метод set() и ассоциатичный массив:

$data['header']='Strong recomendet';

$data['message']='This is message';

$v->set($data);

3. Через метод bind() - точно так же как и через метод set(), только переменные будут переданы по ссылке, а не по значению. Единственная разница между set() и bind() в том, что bind() присоединяет переменную по ссылке. Если вызывать bind() переменной до того, как она определена, переменная будет создана со значением NULL.

Получить содержимое вида можно через метод render() или путем преобразования объекта вида в строку:

$view_text = $view->render();

или

$view_text = (string) $view;

Можно создание вида, заполнение переменных и получение сгенерированного видом текста объединить в одной команде, например:

$v=View::factory('user/roadtrip')

->set('places', array('Rome', 'Paris', 'London', 'New York', 'Tokyo'));

->bind('user', $this->user);

Так же в этом разделе:
 
MyTetra Share v.0.58
Яндекс индекс цитирования