对 Phalcon(和一般框架)来说是全新的,所以请原谅我的 n00b-ness。
我想在我的引导文件中加载我的配置,然后将它存储在会话中(因此它只需要加载一次,并且可以全局访问)。
我已经创建了我的会话,并且我成功地将我的配置信息加载到 $Config 中。我如何将 $Config 存储在会话中?由于我不在控制器中,因此无法使用$this->session
. 看来唯一的方法是将会话拉出 DI,添加 $config 属性,然后重新设置 DI 的会话属性:
$DI->setShared('session', function(){
$session = new Phalcon\Session\Adapter\Files();
if(session_status() == PHP_SESSION_NONE)
$session->start();
return $session;
});
$Config = require '../app/config/config.php';
$Session = $DI->get('session');
$Session->config = $Config;
$DI->setShared('session',$Session);
尽管这似乎是在引导程序中的会话中存储某些东西的一种非常低效的方式。这是唯一的方法还是我错过了一些隐藏的功能?我想我可以手动创建会话(而不是在匿名函数中),设置“配置”,然后将其存储为$DI->setShared()
.