私はCodeIgniterのセッションクラス(自動ロード)を使用しています。どのように初期化値を設定できますか?私はデフォルトの言語を初期化したいので、これが必要です。codeigniterのセッションデータを初期化するには?
敬具...
私はCodeIgniterのセッションクラス(自動ロード)を使用しています。どのように初期化値を設定できますか?私はデフォルトの言語を初期化したいので、これが必要です。codeigniterのセッションデータを初期化するには?
敬具...
あなたがhooksを使用することができ、あなたのセッションにデータを初期化ロードします。
あなたは(pre_controller
フックに、セッションがまだロードされていない場合があります)post_controller_constructor
フックを使用することができます。
アップ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');
}
}
}
?>
素晴らしい、あなたは歓迎:-)だ – fillibuster
ありがとう –
http://codeigniter.com/user_guide/libraries /sessions.html –
私はユーザーガイドをよく知っています。しかし、私が自動ロードを使ってセッションの初期値を設定する場所はどこですか?私は各コントローラでそれらを初期化したくありません! – fillibuster
ああ、私は前に質問を理解していませんでした。私は今あなたが欲しいものを手に入れます。あなたはそれを行うためにフックを使用することができます。答えを書き留めてください。 –