Если у меня есть все, что мне нужно на всех страницах, я делаю следующее.
- Добавьте помощник .
- Добавьте ваш новый помощник к autoload .
- Просто вызывайте свою функцию там, где вам нужно.
Причина, по которой я это делаю, заключается в том, что если вам это нужно на многих различных контроллерах, тогдаэто в одном легко доступном месте очень удобно.Когда вам нужно сохранить свой код, это также сделает его намного проще.Например, если вы хотите добавить кеширование, вы можете просто добавить этот код в эту единственную функцию вместо того, чтобы изменять его в каждом контроллере.
Фактически, в вашем конкретном случае я на самом деле создалмой собственный сеансовый класс для расширения сеанса CI.В качестве очень простого примера (для этого я также использую сеансов в базе данных ):
class MY_Session extends CI_Session {
public function __construct() {
parent::__construct();
}
public function login($email, $password) {
$CI =& get_instance();
$CI->load->model('usermodel', 'user');
$result = $CI->user->login($email, $password);
if($result === false) {
return false;
} else {
$this->set_userdata('email', $result->email);
return true;
}
}
public function is_logged_in() {
$email = $this->userdata('email');
if(!empty($email)) {
return true;
} else {
return false;
}
}
}
Таким образом, поскольку вы, вероятно, храните эту информацию в сеансах, это имеет большой смыслчтобы сохранить эту информацию вместе.