可能重复:
检查 PHP 类中的会话变量
public function __construct(){
$this->languages = get_option('test_trans');
$this->default_lang = $this->default_language();
$this->taxonomies = get_taxonomies(array(),'names');
add_action('init', array($this, 'webchanics_e_translations_session_master'), 1);
session_start();
$this->current_language = $_SESSION['language'];
}
function webchanics_e_translations_session_master(){
if(!$this->languages){
unset($_SESSION['language']);
}else{
$check_lang_by_session = $this->check_language($_SESSION['language']);
if(!$check_lang_by_session){
$_SESSION['language'] = $this->default_lang;
}
$check_lang_by_url = $this->check_language($_GET['lang']);
if($check_lang_by_url){
$_SESSION['language']=$_GET['lang'];
}
}
}
此代码根据某些条件设置会话,并调用此会话中存储的值。在类外,会话的新值立即可用,但在类内 $this->current_language 的值保持旧值,直到我再次刷新页面。这有什么解释?以及如何使类内的值立即改变?