Я только начал работу с CodeIgniter, и мне интересно, замедлит ли это, если я вложу такой код в цикл.
$data['title'] = 'the title'; $data['content'] = 'blah blah blah'; $this->load->view('result', $data);
Я не совсем уверен, как CodeIgniter обрабатывает все, или сам PHP. Например, если я это сделал. Будет ли файл читать на каждой итерации?
$data['title'] = 'the title'; $data['content'] = 'blah blah blah'; include 'result.php';
Также нормально ли загружать элементы управления в цикле, или я пропустил что-то фундаментальное, поставив элемент управления в цикле? Благодарю.
Дополнительная информация. У меня есть результаты поиска для профилей пользователей … и я думал о создании уменьшенной версии профиля, отображаемой на странице результатов поиска. Будет ли это плохой практикой использовать для этого представление?
Я бы не рекомендовал вызывать вашу модель из вашего представления. Это не лучшая практика при попытке придерживаться стандартов среды MVC. Вызовите модель из своего контроллера и передайте массив «users» в представление как часть $ data. Теперь вы получаете доступ к массиву $ users так же, как переменная в представлении. Подобно тому, что у вас было, но это получает доступ к модели обратно в контроллер.
контроллер
$data['title'] = 'the title'; $data['content'] = 'blah blah blah'; $data['users'] = $this->user_model->get_users(); $this->load->view('result', $data);
Посмотреть
<?php foreach ($users as $user) { echo '<p>' . $user->first_name . '</p>'; echo '<p>' . $user->last_name . '</p>'; }?>
Подумайте о перемещении цикла от контроллера к файлу представления (на контроллере вы должны подготовить все данные перед файлом просмотра загрузки). У вас будет только один вызов для загрузки файла просмотра, а в файле просмотра вы можете распечатать информацию в цикле цикла, как хотите.
Петля в представлении.
<div> <?php foreach ($this->user_model->get_users() as $users): ?> <p><?php echo $user->first_name;?></p> <p><?php echo $user->last_name;?></p> <?php endforeach; ?> </div>
Этот образец напрямую получает данные из модели, которая неоднократно обсуждалась на форумах codeigniter.