PHP/Programmazione/Funzioni personalizzate

Wikibooks, manuali e libri di testo liberi.


Copertina PHP/Copertina

In ogni linguaggio di programmazione esiste la possibilità di creare le proprie funzioni personalizzate; ciò è possibile ovviamente anche in PHP. La comodità della creazione di funzioni personalizzate risulta evidente nei casi di applicazioni complesse (nelle quali le funzioni possono servire a spezzettare il programma in piccoli sottoprogrammi) o di operazioni compiute frequentemente. È utile inoltre creare anche vere e proprie funzioni nel senso matematico del termine per risolvere problemi che ricorrono spesso.

Indice

[modifica] Definire una funzione

La definizione di una nuova funzione in PHP è la seguente:

function nome_funzione ($arg1, $arg2, ...)  {
  //istruzioni
 }

Dove $arg1, $arg2 sono eventuali variabili che assumeranno i valori presi come parametri.

[modifica] Impostare un valore di ritorno

In una funzione personalizzata per impostare il valore restituito dalla funzione si usa l'istruzioe return. La sua sintassi è

return espr;

Quando il motore PHP incontra questa funzione restituisce il valore di espr e interrompe l'esecuzione del blocco della funzione tra parentesi.

[modifica] Usare i parametri

Una volta definita una funzione è possibile lavorare sui parametri indicati tra parentesi, che possono essere passati per valore o per riferimento, allo stesso modo con le variabili. Ad esempio:

function prova (&$param1, $param2) {
  &$param1 = $param2 + 5;
 } 
 
 prova($var1, 3);

Dopo l'esecuzione della funzione la variabile $var1 conterrà così il valore 8. Si faccia ovviamente attenzione a passare come parametro una variabile e non un'espressione, perché altrimenti non è possibilie effettuare il passaggio per riferimento.

Si noti che una funzione personalizzata deve essere invocata necessariamente dopo la sua dichiarazione. Ad esempio:

$var1 = funzione_esempio();
 function funzione_esempio() {
  return "ciao!";
 }

In questo caso il motore PHP restituirà un errore, in quanto la lettura dello script avviene in sequenza e la funzione funzione_esempio non è ancora stata dichiarata nel momento in cui viene chiamata.

[modifica] Parametri predefiniti

È possibile inoltre prevedere che l'utente non passi alcun valore nel chiamare la funzione ed impostare dei valori predefiniti che deve assumere il parametro nel caso non venga specificato. Ad esempio:

function predef ($arg1, $arg2 = 10) {
  return $arg1 + $arg2  ;
 }
 echo predef(23); //restituisce 33

Strumenti personali