Как инициализировать данные сеанса codeigniter? - PullRequest
0 голосов
/ 16 января 2012

Я использую класс сеанса codeigniter (автозагрузка).Как я могу установить значения инициализации?Мне это нужно, потому что я хочу инициализировать язык по умолчанию.

С наилучшими пожеланиями ...

1 Ответ

3 голосов
/ 16 января 2012

Чтобы загрузить инициализированные данные в ваш сеанс, вы можете использовать hooks .

Вы можете использовать хук post_controller_constructor (в хуке pre_controller сеанс может еще не загружаться).

Откройте config/hooks.php и добавьте:

$hook['post_controller_constructor'][] = array(
                                'class'    => 'SessionData',
                                'function' => 'initializeData',
                                'filename' => 'SessionData.php',
                                'filepath' => 'hooks',
                                'params'   => array()
                                );

А затем в папке hooks создайте файл с именем SessionData.php, содержащий следующее:

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

class SessionData{
    var $CI;

    function __construct(){
        $this->CI =& get_instance();
    }

    function initializeData() {
          // This function will run after the constructor for the controller is ran
          // Set any initial values here
          if(!$this->session->userdata('language')){
             $this->CI->session->set_userdata('language', 'English');
          }
    }
}
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...