Una funzione è un insieme di istruzioni che può essere richiamata ogni volta che si ha la necessità di effettuare una determinata operazione. Con la lezione di oggi vedremo come è possibile creare ed utilizzare le proprie funzioni.
Per capire meglio cosa sono le funzioni e come si utilizzano, possiamo esaminare questo codice che contiene diversi esempi riguardanti la creazione e l’utilizzo delle funzioni (funzioni.php):
function stampaTitolo() { echo 'Pagina dimostrativa di utilizzo funzioni'; } function stampaArray($array) { echo "Stampa del contenuto dell'array"; foreach($array as $key => $value) echo $key.' => '.$value.''; } function stampaFondoPagina($autore='nessuno') { echo 'Autore: '.$autore.' - '.date('d/m/Y'); } $arr1 = array (5,3,76,32); $arr2 = array ('nome' => 'Mario', 'cognome' => 'Rossi'); stampaTitolo(); stampaArray($arr1); stampaArray($arr2); stampaFondoPagina(); stampaFondoPagina('Mario Rossi'); ?>ed il risultato della sua esecuzione:
Pagina dimostrativa di utilizzo funzioni
Stampa del contenuto dell’array
0 => 5
1 => 3
2 => 76
3 => 32Stampa del contenuto dell’array
nome => Mario
cognome => RossiAutore: nessuno - 31/01/2008
Autore: Mario Rossi - 31/01/2008Come si può vedere dal codice, ogni volta che viene trovata la parola chiave function, inizia la dichiarazione di una nuova funzione. In questo esempio ne troviamo 3: stampaTitolo, stampaArray e stampaFondoPagina. Ognuna di esse effettua una o più operazioni al suo interno, rispettivamente stampare una stringa statica, stampare il contenuto di un array utilizzando un ciclo foreach, e stampare una stringa composta dinamicamente.
Ogni funzione deve avere:
- La parola chiave function
- Un nome univoco
- Una lista di eventuali parametri racchiusi tra parentesi tonde
- Una lista di istruzioni da eseguire racchiusa tra parentesi graffe
L’interprete PHP non esegue il codice all’interno di una funzione fino a quando la funzione stessa non viene invocata, per questo la prima riga che viene eseguita è la creazione della variabile $arr1.
I parametri di una funzione, quelli che trovate elencati tra le parentesi tonde, vengono utilizzati per rendere disponibili all’interno della funzione i valori delle variabili che si trovano al suo esterno; se guardiamo la funzione stampaArray infatti, la variabile $array contiene il valore della variabile che viene passata tra parentesi quando la funzione viene invocata, ossia rispettivamente $arr1 e $arr2.
La funzione stampaFondoPagina introduce un utile meccanismo, ossia il passaggio di un valore predefinito per i parametri di una funzione. Come potete vedere dalle due chiamate della funzione, la prima volta viene invocata senza passare alcun parametro, e la funzione valorizza il parametro $autore con il valore che abbiamo specificato nella dichiarazione, ossia nessuno; la seconda volta invece, la funzione viene invocata passando come parametro la stringa Mario Rossi, e l’interprete utilizza questo valore per la variabile $autore.
Se viene specificato un valore di default per un parametro, è obbligatorio fare lo stesso anche per ognuno dei parametri che lo segue nella dichiarazione della funzione!
function prova($par1=1, par2) -> errato
function prova($par1=1, par2=0) ->corretto
Abbiamo visto come creare le nostre prime semplici funzioni e come vengono utilizzate. Nella prossima lezione vedremo come è possibile ottenere dei valori dalle funzioni e come si può suddividere il nostro script in più file per migliorare la leggibilità e centralizzare certe parti di codice che possono essere utili in molte pagine diverse.
LEZIONI PRECEDENTI:
11 Dicembre 2007: Introduzione
17 Dicembre 2007: Installazione di una piattaforma LAMP su Ubuntu Linux
18 Dicembre 2007: Dentro l’HTML
20 Dicembre 2007: E tu di che tipo sei?
7 Gennaio 2008: Operiamo?
10 Gennaio 2008: Ed ecco gli Array
17 Gennaio 2008: Controllare l’esecuzione (1)
25 Gennaio 2008: Controllare l’esecuzione (2)
di Rocco Zanni - TuxJournal.net
Rocco Zanni Blog