Mage :: registry()和Magento中的Session之间的区别

Man*_*sia 8 magento magento-1.7 magento-1.8

我真的很困惑何时使用Mage :: registry()和mage session.

任何人都可以建议两者之间以及何时使用它们之间的区别.

小智 14

Magento注册表不会保留,因为一旦您在新页面上,您将看不到仍然设置的那些注册表变量.我主要使用注册表在控制器和块之间进行通信.

会话将持续存在,但是知道Magento中的会话有多个名称空间,并且它们将在特定时间checkout/session被清除,例如在下订单后被清除.最佳做法是为会话创建自己的命名空间,以避免任何冲突,如重复变量或在错误的时间清除它.

像往常一样,Alan Storm在这个主题上有一些好的东西:

http://alanstorm.com/magento_registry_singleton_tutorial

如何在Magento中使用Session