массив переменных данных, передаваемых в представление, передается во все представления, это ошибка в codeigniter или я делаю неправильно? - PullRequest
1 голос
/ 12 июля 2011

, если я загружаю 2 вида, как это в codeigniter в той же модели:

$first = array('select' => 'anything');
$first = $this->load->view('first', $first, TRUE);
echo $first;
$second = array();
$second = $this->load->view('second', $second, TRUE);
echo $second;

Тогда массив данных ($ first), переданный в первое представление, также доступен для второго представления. например, если переменная i

echo $select;
во втором представлении возвращает значение, которое совпадает с отображаемым в первом представлении, как это возможно, если я не передаю какие-либо данные во второе представление? почему данные передаются в первый просмотр? я использую codeigniter 2.0, который является последней версией codeigniter, я думаю.

Заранее спасибо.

1 Ответ

1 голос
/ 12 июля 2011

Я полагаю, что это потому, что он буферизирует выходные данные, и данные представления доступны глобально для загруженных представлений до тех пор, пока запрос не будет завершен.

Что на самом деле ПОСЛЕ того, как выводится второе представление.

Вы проверяли это без использования echo, как это?

$first = array('select' => 'anything');
$this->load->view('first', $first);

$second = array();
$this->load->view('second', $second);

У вас такое же поведение?

Не уверен, что речь идет о неправильном языкевы используете, но вы должны загружать эти представления в контроллер, а не модель в соответствии с моделью, на которой был построен фреймворк, MVC

ОБНОВЛЕНО ДЛЯ ДОБАВЛЕНИЯ ССЫЛКИ О ЗАГРУЗКЕ ВИДОВПОСЛЕДОВАТЕЛЬНО

http://www.askaboutphp.com/48/codeigniter-organizing-views-simply.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...