Luigi Arlotta
a- a+

Le funzioni

Le funzioni sono blocchi di istruzioni distinti dal programma principale che possono essere richiamati quando il programma necessita l'esecuzione di una determinata operazione per la quale la funzione è stata scritta. Ogni funzione ha un nome che la identifica. Le funzioni possono accettare in ingresso un numero arbitrario di parametri (variabili) in base ai quali eseguono una determinata operazione. A questo punto, se necessario, restituiscono un valore in output. Il valore restituito può essere memorizzato in una variabile ed utilizzato quando necessario. Le funzioni sono uno strumento fondamentale in ogni linguaggio di programmazione. Esse permettono di suddividere l'elaborazione che deve svolgere l'applicazione in blocchi di istruzioni elementari e quindi più semplici da definire e controllare. Questa tecnica, è attualmente la più diffusa tra i cosiddetti "linguaggi imperativi" e prende il nome di programmazione modulare.
L'applicazione richiamerà ogni singola funzione fornendole gli opportuni valori d'ingresso e memorizzando gli eventuali output restituiti. L'ordine in cui le funzioni vengono richiamate potrà variare a seconda dei dati forniti in ingresso dall'utente e/o dai risultati delle funzioni già eseguite.
La definizione di una funzione avviene attraverso la seguente sintassi:

 

function NomeFunzione($par1, $par2, ..., $parN)
{

CorpoDellaFunzione;

}

 

Dove NomeFunzione è il nome della funzione; $par1, $par2, ..., $parN sono N parametri che la funzione riceve in input quando ne è richiesta l'esecuzione (N può anche essere 0). I parametri passati ad una funzione non devono essere necessariamente tipi di dati elementari (interi, stringhe, ...) ma possono anche essere oggetti definiti dal programmatore (vedi cap. 13). Tra le parentesi graffe ("{" e "}") compare il corpo della funzione, cioè le istruzioni che verranno eseguite al momento dell'attivazione. Eseguito il blocco di istruzioni viene generalmente restituito un valore, indicato col nome di output o risultato della funzione.

Supponiamo di aver la necessità di definire una funzione che visualizzi del testo, passato come parametro, in un documento HTML sotto forma di paragrafo. Potremo scrivere una funzione come la seguente:

function writeString ($str)
{ 

echo("<FONT FACE="Comic Sans MS" SIZE=3><P ALIGN="JUSTIFY">$str</P></FONT>"); 

} 

Quando all'interno del codice PHP avremo bisogno di visualizzare del testo sotto forma di paragrafo sarà sufficiente utilizzare l'istruzione:

writeString("Testo del paragrafo che verrà impaginato dalla funzione");

di seguito è riportato il codice completo della pagina HTML in cui è definita ed utilizzata la funzione writeString().

<!--file: helloworld.html -->
<HTML> 

<HEAD> 
<TITLE>Example 3.01</TITLE> 
</HEAD>
<BODY> 
<?
function writeString ($str)
{ 
echo("<FONT FACE="Comic Sans MS" SIZE=3><P ALIGN="JUSTIFY">$str</P></FONT>"); 
}

writeString ("Questa funzione scrive del testo formattato.");
?> 
</BODY> 
</HTML>

Questa pagina genererà, all'interno della finestra del browser, il seguente output:

Questa funzione scrive del testo formattato.

Di seguito riportiamo invece il codice PHP di una funzione che disegna una scacchiera, le cui dimensioni possono essere passate come parametri d'ingresso.

<!--file: helloworld.html -->
<HTML> 

<HEAD> 
<TITLE>Example 3.01</TITLE> 
</HEAD>
<BODY> 
<?
function creaScacchiera ($lines, $cols)
{ 
$j=1;
echo ("<TABLE ALIGN=CENTER BORDER=1 CELLSPACING=0>");
while ($j<=$lines) { 
echo ("<TR>");
$k=1;
while ($k<=$cols) { 
if (($j+$k)%2>0) 
echo ("<TD WIDTH=30 HEIGHT=30 BGCOLOR=#000000> </TD>"); 
else 
echo ("<TD WIDTH=30 HEIGHT=30 BGCOLOR=#FFFFFF> </TD>"); 
$k++; 
}
echo("</TR>");
$j++; 
}
echo ("</TABLE><BR><BR>"); 
}

creaScacchiera(8,8);
creaScacchiera(4,4);
?> 
</BODY> 
</HTML>

 

L'output generato sarà il seguente:

               
               
               
               
               
               
               
               


 

       
       
       
       



Ti potrebbe interessare anche

commenta la notizia

C'è 1 commento
Marcello
Ti è piaciuto l'articolo?