Присвоение переменных представлениям - PullRequest
0 голосов
/ 02 декабря 2011

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

$data['users'] = $this->users_model->get_all();
$this->load->view('users', $data);
// and inside users.php view: foreach($users as $user) {}

ИЛИ

$this->users = $this->users_model->get_all();
$this->load->view('users');
// and inside users.php view: foreach($this->users as $user) {}

Существуют ли общие правила для ситуаций такого типа?

1 Ответ

5 голосов
/ 02 декабря 2011

Первый способ намного лучше второго и является приемлемым способом передачи переменных в представления.

Например, скажем, у вас есть два представления. В первом представлении отображаются все пользователи системы, а во втором - пользователи, которые в данный момент вошли в систему. Оба представления перебирают переменную $users и выводят их имена. Используя ваш второй метод, вы должны будете присвоить соответствующие данные $this->users перед загрузкой каждого представления. Необходимость использовать уникальные имена переменных между всеми загруженными представлениями для данного запроса вышла бы из-под контроля.

Кроме того, некоторые виды могут стать довольно сложными. Не имеет смысла присваивать каждую переменную, которая вам нужна в представлении, свойству вашего контроллера.

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