30 May 2016
Here are the examples for Magento 2:
Registry allows to use global variables in Magento (although global variables are not welcomed by web developers). Registry throws an exception when attempting to record data with already existing key (if the option is $graceful = false) or just ignores re-record (if $graceful = true).
SessionManagerInterface allows to record and read data in/from StorageInterface. Storage is a DataObject and, therefore, for sessions get/set accessors are used (via “magic” method_call):
In this example we use default namespace for data storage, so there is a possibility of crossing the names of developers of other modules. In order to reduce this possibility we can add prefixes in variable names creating unique names for methods like setYourCompanyNameReferralCode($data) or use SessionManager’s implementations with related to it SessionStorage with a different namespace.