Session 什么';这是不同Magento会话类型之间的区别
我正在寻找有关Magento中可用的不同会话类型的差异的一些信息 有一个核心会话、一个客户会话和一个结帐会话。但我不太确定什么时候使用哪一种,以及它们的行为会有什么不同。它们是同时有效还是签出会话比核心会话更早失效?好问题 直接回答这个问题:所有会话模型的生存期都是相同的。会话生存期由Magento和服务器软件中的配置决定您可能想问的问题(以Magento处理各种会话的方式)是,“给定会话类型的数据保留多长时间?” 答案是实现,所以最好的方法是在代码中搜索实例化点。要使用的搜索模式是getSingleton('core/session')(或任何会话模型)。调用该名称的任何位置(如果是第一次遇到该名称),都将在Session 什么';这是不同Magento会话类型之间的区别,session,magento,session-management,Session,Magento,Session Management,我正在寻找有关Magento中可用的不同会话类型的差异的一些信息 有一个核心会话、一个客户会话和一个结帐会话。但我不太确定什么时候使用哪一种,以及它们的行为会有什么不同。它们是同时有效还是签出会话比核心会话更早失效?好问题 直接回答这个问题:所有会话模型的生存期都是相同的。会话生存期由Magento和服务器软件中的配置决定您可能想问的问题(以Magento处理各种会话的方式)是,“给定会话类型的数据保留多长时间?” 答案是实现,所以最好的方法是在代码中搜索实例化点。要使用的搜索模式是getSin
$\u会话
超全局中创建会话名称空间(如下所述)
因此,会话永远不会被“杀死”,但数据会根据实现而被清除。众所周知,这样做的是签出/会话
,因为下单后数据会被擦除
除此之外,您还可以依靠会话满足您的持久性需求
Magento中的会话模型使用抽象基类定义各种API,Mage\u Core\u Model\u Session\u abstract
。此类用于填充以下角色/功能:
init()
方法设置会话名称空间,将$\u会话[$namespace]
addError()
,addMessage()
,addNotice()
,以及addSuccess()
)Varien\u对象::\uu call()
随意设置参数的重载(神奇的getter和setter)*请注意,会话有一个修改的magic getter,它允许您从会话中检索数据并通过一次调用将其取消设置(例如,$session->getSomeParam(true)
)\u construct()中调用$this->init('namespace')
会话模型的所有数据将在会话名称空间下的数组键中设置;对于core,这将是:
$session = Mage::getSingleton('core/session')->setSomeValue('Some string');
可以表示为
$_SESSION['core']['some_value'] = 'Some string'
谢谢你的回复,但那不是我想要的。我的问题与默认情况下Magento中已经存在的不同会话类型更相关。比如核心、客户和结账环节。我想知道它们是否都有相同的生命周期,或者其中一个生命周期是否提前失效?例如,在我看来,结帐会话似乎只在结帐完成之前存在。但我只是猜测,这就是为什么我想知道更多关于它的事。好吧,现在你知道基金会:-)!答案是,这是一个实施的问题。Grep Singleton的核心(“checkout/session”),你会得到一个可以初始化checkout session的所有地方的列表。我调整了我的答案,以真正回答你的问题!谢谢你,伙计!我相信你帮助了我和很多其他人!