Как CodeIgniter отправляет информацию из модели в представление с помощью контроллера? - PullRequest
0 голосов
/ 24 декабря 2011

Когда я вызываю контроллер, и он вызывает модель, модель возвращает информацию из моей базы данных, назначенной чему-то в контроллере.

Но как она "отправляет" ее в представление для рендеринга?Как, например, когда я отправляю массив $ data в my_view.php.как она попадает на эту страницу, так что, я полагаю, я могу сделать что-то вроде использования extract для получения моих индивидуальных переменных.

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

Спасибо.

Ответы [ 2 ]

4 голосов
/ 24 декабря 2011

Вы должны «отправить» этот массив $ data в представление в качестве второго параметра при загрузке.

$data['user'] = array(
    'name'   => 'Tom Jones',
    'gender' => 'male'
);

$this->load->view('blogview', $data);

Затем доступ к содержимому массива в представлении осуществляется с помощью соответствующего ключазначения

<?php echo $user['name']; ?>

Ознакомьтесь с документами для получения более подробной информации: http://codeigniter.com/user_guide/general/views.html

1 голос
/ 24 декабря 2011

Общий шаблон всех просмотров php таков:

function render_view($__filename, $__data) {
    extract($__data);
    include $__filename;
}

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

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