在我的项目中,我使用以下代码通过服务中的会话包访问会话变量:
public function __construct()
{
// Create session bag
$className = get_class($this);
$this->storage = new Phalcon\Session\Bag($className);
}
但这给出了一个例外“访问'会话'服务需要依赖注入对象”。
好的,看来我们需要在这里设置一个DI。最简单的方法 - 在 DI 中定义不共享的 sessionBag 服务(然后将自动设置 $di)。但是我怎么能理解我应该以这种方式为会话包设置哪个名称?例子:
$di->set('sessionBag', function() use ($config) {
$name = ''; // ???
$bag = new \Phalcon\Session\Bag($name);
return $bag;
});