Pattern Registry in Magento

Un altro pattern che fa uso delle variabili ad accesso globale è “Registry”, tramite l’associazione di un oggetto a una precisa chiave (stringa).

A differenza delle variabili globali però, il vantaggio consiste nell’impedire di sovrascrivere l’oggetto nel caso in cui sia già stata creata l’associazione. Quindi è obbligatorio rimuovere l’oggetto prima dell’aggiornamento.

Un esempio pratico di utilizzo del metodo registry si può trovare nel metodo initProduct() definito nella classe Mage_Catalog_Helper_Product.


In questo caso, vediamo che tramite il metodo register(), la categoria viene associata alla chiave “current_category”.

Per completare l’ implementazione in Magento, esistono poi altri due metodi statici definiti nella classe Mage:
– registry, per il caricamento dell’oggetto;
– unregister, per la sua rimozione.

 

Lascia un commento