gpt4 book ai didi

php - Zend Framework 中处理 session 的最佳方法

转载 作者:行者123 更新时间:2023-12-03 03:05:15 24 4
gpt4 key购买 nike

因此,我在 Zend 框架中启动,并希望实现站点范围的“用户” session ......我可以从应用程序中的所有模块/ Controller 轻松访问它。

我想,我应该在库中创建一个新的命名空间并扩展 Controller ,例如:

class MYCUSTOMLIB_Controller_Action extends Zend_Controller_Action
{
protected $_userSession;

function preDispatch(Zend_Controller_Request_Abstract $req)
{
$this->_userSession = new Zend_Session_Namespace('user');
}
}

然后我的所有 Controller /模块/等等都由此扩展?

或者我应该创建一个插件还是什么?您将如何制作此插件以将用户 session 传递到 Controller ?

或者我在 Bootstrap 中执行它?又如何传递给 Controller ​​?

我还应该使用 Zend_Session_Namespace 或 Zend_Http_Cookie 以及如何加密和 xss 清理 cookie 还是自动完成?

最佳答案

我也会在 Bootstrap 中初始化:

//Bootstrap.php
protected function _initUserSession()
{
return new Zend_Session_Namespace('user');
}

然后我会使用一个 Action 助手:

// library/App/Controller/Action/Helper/Session.php
class App_Controller_Action_Helper_Session extends Zend_Controller_Action_Helper_Abstract
{
function direct()
{
return $this->getFrontController()->getParam('userSession');
}
}

您可以像这样在 Controller 中访问它:

function indexAction()
{
$session = $this->_helper->session;
}

关于php - Zend Framework 中处理 session 的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2504884/

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