JavaScript  »  Articoli  »  MooTools 

MooTools: usare gli Hash

di: Riccardo Degni     10 Dicembre 2007

Possiamo inoltre estenderlo con nuove proprietà, utilizzando l'elegante metodo di estensione OOP che caratterizza il framework MooTools:

// l'Hash hash guadagna le proprietà 'f', 'g', 'h', 'i'
hash.extend({
'f': 'value of f',
'g': 'value of g',
'h': 'value of h',
'i': 'valueo of i'
});

Oppure fonderlo con altri oggetti, ottenere tutte le chiavi o tutti i valori e così via. A questo proposito ho creato un esempio che utilizzando i metodi values e keys permette di creare una tabella che contiene tutte lo coppie chiave/valore dell'Hash che abbiamo creato.

In questo modo abbiamo un controllo completo e flessibile sia sulle chiavi che sui valori di un hash.

Hash.Cookie: salvare un hash in un cookie

Un'altra importante funzionalità della classe Hash è la sua estensione Hash.Cookie (hash.cookie.js) che permette di salvare il valore di un hash all'interno di un cookie.

Il costruttore Hash.Cookie accetta due parametri: il nome del cookie e le sue opzioni, identiche a quelle disponibili per il costruttore Cookie (http://docs.mootools.net/Remote/Cookie.js) con l'aggiunta di autoSave, che se impostata a true, permette di salvare il cookie ad ogni operazione che si compie.

I metodi disponibili per questa classe, oltre a quelli ereditati da Hash sono:

  • save - salva in modo manuale il nostro hash all'interno di un cookie (se ad esempio abbiamo impostato autoSave a false);
  • load - carica il cookie e lo assegna all'hash.

Vediamo un semplice esempio:

var user = new Hash.Cookie('User');

// aggiungiamo nuove proprietà
user.extend({
'name': 'A Guest',
'type': 'guest'
});

// Abbiamo salvato il cookie (autoSave:true). In un'altra pagina viene caricato automaticamente:
var user = new Hash.Cookie('User');

// 'guest'
user.get('type');

// ora cancelliamo il cookie
user.erase();

Questa applicazione mostra come salvare un intero hash all'interno di un cookie e compiere operazioni con esso, utilizzando i metodi ereditati dalla class Hash come extend e get.

Conclusione

In questo articolo abbiamo visto tutta la flessibilità che ricaviamo dall'avvolgere un normale oggetto all'interno di un Hash. I vantaggi sono molteplici: sotto l'aspetto del codice questo risulterà più elegante e accessibile, mentre per quanto riguarda le funzionalità un Hash può usufruire dei potenti metodi each, extend e merge. Abbiamo visto inoltre come utilizzare la classe Hash.Cookie per salvare le informazioni che vogliamo, create con un Hash, all'interno di un cookie per poi usufruirne nel corso della nostra applicazione.

Un'altra nota importante sugli Hash: nella successiva versione di MooTools questa classe verrà potenziata ulteriormente con altri metodi del costruttore Array, come some, filter, every e map, permettendo un ulteriore grado di iterazione tra le chiavi del nostro hash.

Guide JavaScript

Guida Node.js

Il framework che permette di per usare V8, l'interprete JavaScript...

Canvas, guida ai framework

Canvas, tra gli elementi di HTML5 è forse quello di maggior impatto....

Guida jQuery UI

Creare siti ricchi e dinamici con jQuery UI, il progetto ufficiale...

Altre guide

Newsletter @JavaScript

Ogni martedì, direttamente nella tua e-mail: guide, articoli, script, novità e approfondimenti tecnici su JavaScript.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Webmaster base

18 Giugno 2012 a Milano
Disponibilità: 6 Posti

Corso Google AdWords Base

25 Giugno 2012 a Milano
Disponibilità: 7 Posti

Corso JQuery e Ajax per Webmaster

03 Luglio 2012 a Milano
Disponibilità: 7 Posti

Corso Google AdWords Base

05 Giugno 2012 a Roma
Disponibilità: 7 Posti

Corso Webmaster base

11 Giugno 2012 a Roma
Disponibilità: 7 Posti