Sono davvero confuso su quando utilizzare Mage :: registry() e mage sessione.Differenza tra Mage :: registry() e Session in Magento
Qualcuno può suggerire cosa è diff tra entrambi su di loro e quando utilizzare.
Sono davvero confuso su quando utilizzare Mage :: registry() e mage sessione.Differenza tra Mage :: registry() e Session in Magento
Qualcuno può suggerire cosa è diff tra entrambi su di loro e quando utilizzare.
Il registro Magento non è attivo, in quanto in una nuova pagina non vengono visualizzate le variabili di registro ancora impostate. Uso principalmente il registro per comunicare tra controller e blocchi.
La sessione persisterà, ma sapere che ci sono più spazi dei nomi per le sessioni in Magento, e saranno liquidati in certi momenti, come il checkout/session
essere eliminato dopo che l'ordine è collocato. È consigliabile creare il proprio spazio dei nomi per la sessione per evitare conflitti come le variabili duplicate o cancellarle nel momento sbagliato.
Come sempre Alan Tempesta ha alcune buone cose da leggere su questo argomento:
Mage :: registry() implica la creazione di nuove variabili globali a cui è possibile accedere in qualsiasi punto del negozio Magento.
Essendo una funzione statica, il registro Magento può essere richiamato direttamente senza l'istanza dell'istanza come nel caso delle funzioni dinamiche.
Il registro Magento può essere chiamato come ClassName :: StaticFunctionName().
mentre Mage :: getSingleton() è proprio come la sessione in PHP.
Spero di poter spiegare il mio punto.
Usa Mage :: registro() quando si desidera accedere variabile nella richiesta di pagina STESSO (ad es. passare la variabile dal controllore al modello)
Utilizzare la sessione quando si desidera accedere alle variabili attraverso DIVERSE richieste di pagina (ad es. navigazione da una pagina all'altra)