как получить во вьюве массив со всеми переменными/объектами?

Вопросы об установке, настройке и работе самого фреймворка

как получить во вьюве массив со всеми переменными/объектами?

Сообщение sure123 » 08 мар 2010, 16:56

У меня ошибка где-то в контроллере, итерация возвращает за место объекта - булин.

Попробовал заюзать xdebug, насколько я понял, мой хостер его не поддерживает, попробовал написать print_r($GLOBALS) во вьюве - пустая страница.

Как мне из вьювера получать все переменные контроллера?

Можно конечно их вписывать по типу, $this->load->view('data'); , но это гемор, но и с другой стороны, как мне получить эти все переменные в одном месте?

спасибо
sure123
 
Сообщения: 10
Зарегистрирован: 08 мар 2010, 16:47

Re: как получить во вьюве массив со всеми переменными/объектами?

Сообщение sure123 » 08 мар 2010, 16:57

т.е. то что я написал в $this->load->view('index', $data);

как получить всё, что пришло в $data во вьювере?
sure123
 
Сообщения: 10
Зарегистрирован: 08 мар 2010, 16:47

Re: как получить во вьюве массив со всеми переменными/объектами?

Сообщение michail1982 » 08 мар 2010, 18:23

Код: Выделить всё

controller
:
$this->load->view('index',array('data'=>$data));

view:
var_dump($data);
 
Аватара пользователя
michail1982
 
Сообщения: 533
Зарегистрирован: 25 ноя 2008, 15:36

Re: как получить во вьюве массив со всеми переменными/объектами?

Сообщение sure123 » 09 мар 2010, 19:33

вроде как оно, но мне получается нужно что-то другое

мне достался сильно запутанный и в конце идет так, что получается все сразу передается этой строчкой

Код: Выделить всё

$this
->load->vars($this->data);
$this->load->view('eshop/container');
 


в контейнере вьювера
Код: Выделить всё

  $this
->load->view('eshop/header');
  
$this->load->view('eshop/left');
  
$this->load->view('eshop/right');
  
$this->load->view('eshop/content_' .$page);
  
$this->load->view('eshop/footer');
 


потом я в хидере хочу поймать все переменные, переданные во вьюв, как это можно сделать?
sure123
 
Сообщения: 10
Зарегистрирован: 08 мар 2010, 16:47

Re: как получить во вьюве массив со всеми переменными/объектами?

Сообщение michail1982 » 09 мар 2010, 21:38

так даже проще... забудем про принципы MVC и во вью напишем
Код: Выделить всё
<?php var_dump($this->data);?>

также можно попробовать
Код: Выделить всё
<?php var_dump($this->loader->_ci_cached_vars);?>
Аватара пользователя
michail1982
 
Сообщения: 533
Зарегистрирован: 25 ноя 2008, 15:36

Re: как получить во вьюве массив со всеми переменными/объектами?

Сообщение radioheaded » 09 мар 2010, 22:05

$this->load->vars устаревший метод, оставлен в 1.7 лишь для совместимости. Вместо этого используйте $this->load->view('someview', $vars).
radioheaded
 

Re: как получить во вьюве массив со всеми переменными/объектами?

Сообщение fireXXX » 10 мар 2010, 00:43

на работе другой акк

спасибо, завтра попробую

там стоит CI 1.5.* и система написана в 2007, есть ли где-то мануал по апгрейду фреймворка? я искал не нашел
fireXXX
 
Сообщения: 22
Зарегистрирован: 24 дек 2009, 12:24

Re: как получить во вьюве массив со всеми переменными/объектами?

Сообщение michail1982 » 10 мар 2010, 00:50

бекапнуть system, перекреститься, и заменить системные библиотеки обновлёнными ..... ну и дебажить потом до красноглазия....
Аватара пользователя
michail1982
 
Сообщения: 533
Зарегистрирован: 25 ноя 2008, 15:36

Re: как получить во вьюве массив со всеми переменными/объектами?

Сообщение sure123 » 10 мар 2010, 12:05

спасибо за советы

набрал :
Код: Выделить всё
var_dump($this->loader->_ci_cached_vars); 
в хидере
результат:
Undefined property: CI_Loader::$loader
Trying to get property of non-object

когда набрал это
Код: Выделить всё
<?php var_dump($this->data);?>

пустой экран

есть еще советы?
sure123
 
Сообщения: 10
Зарегистрирован: 08 мар 2010, 16:47

Re: как получить во вьюве массив со всеми переменными/объектами?

Сообщение michail1982 » 10 мар 2010, 12:15

Код: Выделить всё
var_dump($this->_ci_cached_vars);  

или поставить файрПХП (на мой взгляд луччи) и вывести данные в консоль из контроллера
Аватара пользователя
michail1982
 
Сообщения: 533
Зарегистрирован: 25 ноя 2008, 15:36

Re: как получить во вьюве массив со всеми переменными/объектами?

Сообщение aktuba » 10 мар 2010, 20:17

radioheaded писал(а):$this->load->vars устаревший метод, оставлен в 1.7 лишь для совместимости. Вместо этого используйте $this->load->view('someview', $vars).


По мне, $this -> load -> vars намного удобнее, чем $this->load->view('someview', $vars).
aktuba
 
Сообщения: 48
Зарегистрирован: 03 фев 2009, 21:19


Вернуться в Общие вопросы по фреймворку

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1