Corsi on-line

Gestire le variabili di sessione in Magento

La gestione delle variabili di sessione in un’installazione basata sul CMS Magento per il commercio elettronico è affidata ai magic methods di PHP e in particolare alle funzioni _set(), _get() e _unset() che permettono di effettuare l’overloading delle proprietà di una classe; tali metodi però non dispongono di un’implementazione concreta e dovranno essere associati ad una definizione esplicita; in pratica essi verranno richiamati dal parser di PHP ogni volta che un’applicazione tenta di assegnare un valore ad una proprietà che non sia stata esplicitamente dichiarata, di accedere ad esso o di dismetterlo.Magento

Tale meccanismo opera in modo automatico perché previsto dal motore del linguaggio, un esempio pratico del suo funzionamento potrebbe essere proposto facendo riferimento a Magento stesso; l’assegnazione di una variabile di sessione nel contesto di tale applicazione potrebbe per esempio avvenire nel modo seguente:

$mail = 'miamail@mail.it';
Mage::getSingleton('core/session')->setEmailID($mail);

Nello stesso modo l’accesso a tale variabile potrebbe essere effettuato utilizzando uno snippet sul modello di quello proposto di seguito:

$mail = '';
$mail = Mage::getSingleton('core/session')->getEmailID();

Infine, sarà possibile effettuare l’unsetting della variabile precedentemente generata in questo modo:

Mage::getSingleton('core/session')->unsEmailID();

I più attenti avranno notato che “setEmailID”, “getEmailID” e “unsEmailID” non sono stati inizializzati, ciò è dovuto proprio al meccanismo automatico basato sulle definizioni esplicite; per cui se “EmailID” rimane l’elemento costante (una sorta di “chiave”), ad essere suscettibili di modifica saranno invece i metodi invocati.

Post correlati
I più letti del mese
Tematiche