gpt4 book ai didi

php - 如何清除 Zend framework2 中的 session 容器

转载 作者:IT王子 更新时间:2023-10-29 00:00:55 26 4
gpt4 key购买 nike

我最近开始使用 Zendframework 2 构建一个应用程序,我在 ZF1 方面有很好的经验,我在 ZF2 中面临的主要问题是 session 。

这是我创建 session 容器的方式。

use Zend\Session\Container;

// session 容器创建:(之前我们称之为命名空间)

$session_user = new Container('user');
$session_user_errors = new Container('usererrors');
$session_user_shares = new Container('usershares');

现在像这样我有几个容器,

我可以像这样清除特定容器的 key

//按键从 session 中获取值:(从命名空间获取值)

$email = $session_user->offsetGet('email');

//在 session 中设置值:(从命名空间设置值)

$session_user->offsetSet('username', 'abcd');

现在我的问题是清除在我的应用程序的多个级别中设置的整个容器。

如果我尝试下面的代码,它会清除我所有的 session 容器。

$session_user = new Container('user');
$session_user->getManager()->getStorage()->clear();

我只想清除名为“用户”的容器,它有很多键(我不知道最后会有什么)。有没有办法做到这一点

我知道我可以在每个键上执行 offsetunset 但这不是我认为的最佳解决方案。

请建议是否有任何替代方法来清除特定的 session 容器。

注意:-我没有使用任何第三方模块,例如 ZfcUser 和 Akrabat session

提前感谢您回复此帖子。

最佳答案

你已经差不多了,你只需要将命名空间传递给 clear 方法

$session_user->getManager()->getStorage()->clear('user');

您仍然可以将 $_SESSION 视为一个数组,因此以下方法也有效

unset($_SESSION['user']); 

关于php - 如何清除 Zend framework2 中的 session 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15195290/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com