Ricordi cosa abbiamo detto quando abbiamo introdotto le funzioni? Le parentesi tonde sono “un punto di entrata per poter far accedere all’interno della funzione valori esterni”. All’interno delle parentesi tonde inseriremo un cosiddetto parametro formale, che verrà, in seguito, sostituito dal parametro reale (che nel nostro caso, per poter raggiungere l’obiettivo che ci siamo prefissati nel precedente articolo della nostra guida su come imparare php, è il colore).
Il parametro formale dice alla funzione che, in quel punto, arriverá qualcosa dall’esterno e che poi assumerá un valore effettivo (reale).
Il parametro reale è il valore effettivo che diamo alla funzione.
<?php function whatColor($color){ echo "Hai scelto il colore $color! \n"; } ?>
Nell’esempio, il $color nelle parentesi tonde è il parametro formale. Non ha un valore effettivo, è un contenitore vuoto che verrà riempito quando richiameremo la funzione per attivarla.
<?php function whatColor($color){ echo "Hai scelto il colore $color! \n"; } whatColor('rosso'); whatColor('blu'); whatColor('giallo'); whatColor('verde'); whatColor('arancione'); ?>
‘rosso’, ‘blu’, ‘giallo’, ‘verde’, ‘arancione’ sono i parametri reali che diamo alla funzione nel momento in cui la richiamiamo, inserendolo tra le tonde che nell’esempio precedente, erano vuote.
Il parametro formale diventa il parametro reale
In output avremo, di conseguenza:
Il php echo all’interno della funzione é diventato del tutto dinamico e la nostra funzione “whatColor($color)” è generale, ASTRATTA..
Tutto chiaro? Benissimo!
Abbiamo, quindi, assodato le nozioni di parametro formale e parametro reale.
Ciò che abbiamo tralasciato, però, è una caratteristica importante dei parametri reali: il modo in cui la loro posizione all’interno delle parentesi tonde influisce sul risultato.
Vediamo un esempio
<?php function presentati($nome, $cognome){ echo "Ciao il mio nome è $nome ed il mio cognome é $cognome "; } presentati('Giuseppe', 'Verdi'); //In output avremo: //Ciao il mio nome è Giuseppe ed il mio cognome é Verdi ?>
Se invertissimo i parametri reali nel richiamare la nostra funzione, il risultato sarebbe decisamente diverso, non credi?
<?php function presentati($nome, $cognome){ echo "Ciao il mio nome è $nome ed il mio cognome é $cognome "; } presentati('Verdi', 'Giuseppe'); //In output avremo: //Ciao il mio nome è Verdi ed il mio cognome é Giuseppe ?>
Si tratta di un esempio banale, ma ci fa capire bene l’importanza di assegnare la giusta posizione ai nostri parametri reali.