我最近开始使用 Zendframework 2 构建一个应用程序,我在 ZF1 方面有很好的经验,我在 ZF2 中面临的主要问题是会话。
这是我创建会话容器的方式。
use Zend\Session\Container;
// 会话容器创建:(之前我们将其称为命名空间)
$session_user = new Container('user');
$session_user_errors = new Container('usererrors');
$session_user_shares = new Container('usershares');
现在像这样我有几个容器,
我可以像这样清除特定容器的密钥
// 按键从会话中获取值:(从命名空间获取值)
$email = $session_user->offsetGet('email');
// 在会话中设置值:(从命名空间设置值)
$session_user->offsetSet('username', 'abcd');
现在我的问题是清除在我的应用程序的多个级别中设置的整个容器。
如果我尝试下面的代码,它会清除我所有的会话容器。
$session_user = new Container('user');
$session_user->getManager()->getStorage()->clear();
我只想清除名为“用户”的容器,它有很多键(我不知道最后会有什么)。有没有办法做到这一点
我知道我可以在每个键上做 offsetunset 但这不是我觉得的最佳解决方案。
请建议是否有任何替代方法来清除特定的会话容器。
注意: -我没有使用任何第三方模块,如 ZfcUser 和 Akrabat 会话
提前感谢您回复此帖子。