глобальный контроллер в codeigniter?

Есть ли способ в codeigniter определить глобальную функцию, которую можно легко вызывать во всех контроллерах?

У меня есть приложение, которое покажет всех последних пользователей, которые зарегистрировались в приложении.

что я делаю сейчас, я автоматически загрузил модель Latest_model с функцией ниже

function new_users()
{
$this->db->select('*');

$this->db->from('users');
$this->db->order_by('id', 'DESC');
$this->db->limit('5');

$query = $this->db->get();
return $query->result_array();

}

и на всех контроллерах, в начале я называю эту модель

$data['new'] = $this->Latest_model->new_users();

Это работает, но мне нужно повторить это во всех функциях.

Так что будет лучшим способом достичь этого?

Любая помощь будет оценена

0

Решение

Вы всегда можете расширить контроллер по умолчанию с новыми функциями. Документация кодигнитера это хорошее место для начала.

Короче говоря, вы должны создать свой базовый контроллер с именем MY_Controller под application/core/ папка.
Затем вы можете поместить в этот файл такой код:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class MY_Controller extends CI_Controller {

protected $data = [];

function __construct() {
parent::__construct();

$this->data['new'] = $this->Latest_model->new_users();
}
}

Тогда из всех ваших контроллеров вы можете получить доступ к data массив с $this->data,

4

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector