PHP中的持久存储(数据\注册表类)

PHP中的持久存储(数据\注册表类),php,expressionengine,Php,Expressionengine,我正在使用这个库:带有ExpressionEngine系统 我在EE插件中初始化并设置数据,如下所示: Data_Registry::init('MYPAGE'); Data_Registry::setPersistence(TRUE,TRUE)->restoreNameSpace(); Data_Registry::set('MYPAGE_DATA',json_encode($data['result'])); Data_Registry::set('MYPAGE_LOGGEDIN',t

我正在使用这个库:带有ExpressionEngine系统

我在EE插件中初始化并设置数据,如下所示:

Data_Registry::init('MYPAGE');
Data_Registry::setPersistence(TRUE,TRUE)->restoreNameSpace();
Data_Registry::set('MYPAGE_DATA',json_encode($data['result']));
Data_Registry::set('MYPAGE_LOGGEDIN',true);
如果我用这段代码记录这些值,它会正确地显示这些值

$fp = fopen('login_model.txt', 'a');
fwrite($fp, "Data:".Data_Registry::init('MYPAGE')->get('MYPAGE_DATA'). "\n");
fwrite($fp, "Loggedin:".Data_Registry::init('MYPAGE')->get('MYPAGE_LOGGEDIN'). "\n");
fclose($fp);
但是,尝试使用以下代码在模板中检索这些值时:

$data     = Data_Registry::init('MYPAGE')->get('MYPAGE_DATA');
$loggedin = Data_Registry::init('MYPAGE')->get('MYPAGE_LOGGEDIN');
$fp       = fopen('login_model.txt', 'a');
fwrite($fp, "Data:".$data . "\n");
fwrite($fp, "Loggedin:".$loggedin . "\n");
fclose($fp);
两个值都为空


我做错什么了吗?

来自Waygood的评论:


“如果启用了全局持久性,所有名称空间都将自动加载”,因此我假设您必须使用Data_Registry::setPersistence(TRUE,TRUE)->restoreNameSpace();在模板上添加到?除非将其设置为默认参数

,否则是否刷新数据?Data_注册表是否要求您刷新/保存值?第三个代码框与第二个不同吗?不,不是显式刷新。您可以刷新/保存,但这不是必需的。不,是同一个文件,只是附加了“如果启用了全局持久性,所有名称空间都会自动加载”,所以我假设您必须使用Data_Registry::setPersistence(TRUE,TRUE)->restoreNameSpace();在模板上添加到?除非您将其设置为默认参数,否则文档中不清楚我也必须在每个模板中调用session_start()。作为答案发布,我会接受。好的,请将您的评论作为答案发布,以便我可以接受。