CodeIgniter: Как установить переменные сессии и / или контроллера в hooksr? - PullRequest
1 голос
/ 08 июля 2011

Так что у меня проблемы с тем, чтобы мои крючки действительно что-то делали Я хотел бы установить несколько переменных сеанса, прежде чем представления будут отображаться каждый раз. Я поместил это в мой config / hooks.php:

$hook['post_controller_constructor'] = array(
    'class'    => 'Permissions',
    'function' => 'can_view',
    'filename' => 'pre_hooks.php',
    'filepath' => 'hooks');

Я также включил хуки в файле конфигурации:

$config['enable_hooks'] = TRUE;

Код, который я пытаюсь заставить работать:

<?php
class Permissions {
    var $CI;

    public function __construct() {
        $this->CI = &get_instance();
        $this->CI->load->library("session");
    }

    public function can_view(){
        $this->CI->session->set_userdata('test','test');
    }
}

Простой эхо-переменная сеанса не работает, но когда я устанавливаю переменную сеанса в контроллере, она работает ...

1 Ответ

1 голос
/ 08 июля 2011

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

Пожалуйста, попробуйте автоматически загрузить lib сеанса.

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