Una volta che si acquisisce dimestichezza con un linguaggio di programmazione, diventa cosa comune utilizzare ogni giorno delle comode funzioni per ridurre il più possibile il codice della pagina.
Ottimizzare l’esecuzione delle funzioni diventa utile, a volte persino necessario. Nel mio caso, faccio spesso uso di metodi di classe – che in quanto a gestione di base sono simili alle funzioni – e creare una struttura ottimizzata mi è fondamentale (a tale proposito, se vi interessa approfondire l’argomento della programmazione a oggetti in php date un’occhiata al mio articolo sulle classi).
In questo articolo vediamo un aspetto delle funzioni (e dei metodi di classe) spesso sottovalutato: come far passare in modo efficiente gli argomenti.
Come regola generale, io utilizzo un sistema semplice e che mi permette una certa flessibilità:
– se i parametri da passare sono obbligatori, li scrivo in chiaro come argomento a sé stante
– se i parametri sono facoltativi o di natura “secondaria” li faccio passare tutti assieme come elementi di un array
Tra poco vedremo un esempio che spiegherà meglio il concetto e l’utilità di utilizzare array come “contenitore di parametri”. Tengo a precisare di nuovo che si tratta di una regola generica, che non sempre applico: è il buon senso a stabilire quando e in che modo farne uso.
Per la comprensione di questo articolo si richiede una conoscenza di base dell’uso delle funzioni e degli array (per un ripasso di quest’ultimi, si può fare ricorso a un tutorial di base).
La descrizione del procedimento
Prima una descrizione veloce su quello che andremo a creare.
Si presume che sia presente una tabella nel database (chiamata per esempio “utenti”) i cui record sono persone fisiche. I campi su cui andremo a lavorare nell’esempio saranno quattro:
– id del record
– nome
– cognome
– sesso
La nostra idea è semplicemente di far passare questi campi alla funzione, che corrisponderanno ai campi nel database da modificare (ovvero su cui fare una query di update). I campi potranno essere elaborati a piacere prima dell’esecuzione della query (per esempio, controllando che “cognome” non sia vuoto).