Как получить доступ к модели для запросов базы данных от функции помощника?

Я пытаюсь создать аутентификацию для своего php веб-сайта. Я использую codeigniter платформу. Я должен буду проверить сессию на всех страницах моего веб-сайта. Таким образом для предотвращения повторения кода я планирую сделать это в функции помощника. Теперь, когда мои удостоверения пользователя находятся в моей базе данных, я хотел бы получить доступ к модели для запросов базы данных от функции помощника. В классе контроллера я сделал бы это при помощи

$this->load->model('user_model');

Сообщите мне его эквивалент в файле помощника. Любой вид предложения в подходе также ценится.Заранее спасибо.

11
задан hakre 20 December 2012 в 10:19
поделиться

2 ответа

[

] Вы не сможете использовать $this для доступа к вашему экземпляру CI в помощнике, но у CI есть способ сделать это -[

] [

] Сначала вам нужна ссылка на ваш CI экземпляр: [

]. [
$CI =& get_instance();
] [

] Тогда, если вам нужно загрузить модель, вы можете сделать это так: [

] [
$CI->load->model('model_name');
] [

] И, наконец, вызов любой функции в вашей модели, как эта: [

] [
$CI->model_name->function_name();
] [

] В основном, используйте $CI вместо $this. Надеюсь, это поможет. [

]
20
ответ дан 3 December 2019 в 05:34
поделиться

Не так уж много повторений кода. Я бы предложил такой подход:

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

    if ($this->auth->is_logged_in() !== TRUE) // "auth" is the authentication library
    {
        redirect('login');
    }
}
1
ответ дан 3 December 2019 в 05:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: