PHP/Programmazione/Funzioni personalizzate: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Discussioni Wikibooks:Libri stampabili, replaced: {{PHP}} → <noinclude>{{PHP}}</noinclude> using AWB
m Update syntaxhighlight tags - remove use of deprecated <source> tags
 
Riga 4:
== Definire una funzione ==
La definizione di una nuova funzione in PHP è la seguente:
<sourcesyntaxhighlight lang="php">
function nome_funzione ($arg1, $arg2, ...) {
//istruzioni
}
</syntaxhighlight>
</source>
Dove <code>$arg1, $arg2</code> sono eventuali variabili che assumeranno i valori presi come parametri.
 
== Impostare un valore di ritorno ==
In una funzione personalizzata per impostare il valore restituito dalla funzione si usa l'istruzione <code>return</code>. La sua sintassi è
<sourcesyntaxhighlight lang="php">
return espr;
</syntaxhighlight>
</source>
Quando il motore PHP incontra questa funzione restituisce il valore di <code>espr</code> e interrompe l'esecuzione del blocco della funzione tra parentesi.
 
Vediamo adesso un esempio che fa uso del comando return. Vogliamo realizzare un convertitore euro -> lire.
<sourcesyntaxhighlight lang="php">
<?php
// 15 euro
Riga 39:
echo "$valuta euro equivalgono a $vecchio_conio lire";
?>
</syntaxhighlight>
</source>
 
Analizziamo la funzione "converti". Quando viene invocata riceve un parametro (la quantità di euro da convertire in lire) che viene memorizzata nella variabile $euro. La prima istruzione effettua la conversione vera e propria. Per far si che la funzione restituisca il risultato calcolato viene usato il comando return affiancato dalla variabile da restituire $lire.
Riga 49:
== 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:
<sourcesyntaxhighlight lang="php">
function prova (&$param1, $param2) {
$param1 = $param2 + 5;
Riga 55:
prova($var1, 3);
</syntaxhighlight>
</source>
Dopo l'esecuzione della funzione la variabile <code>$var1</code> 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:
<sourcesyntaxhighlight lang="php">
$var1 = funzione_esempio();
function funzione_esempio() {
return "ciao!";
}
</syntaxhighlight>
</source>
In questo caso il motore PHP restituirà un errore, in quanto la lettura dello script avviene in sequenza e la funzione <code>funzione_esempio</code> non è ancora stata dichiarata nel momento in cui viene chiamata.
 
=== 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:
<sourcesyntaxhighlight lang="php">
function predef ($arg1, $arg2 = 10) {
return $arg1 + $arg2 ;
}
echo predef(23); //restituisce 33
</syntaxhighlight>
</source>
 
[[Categoria:PHP|Funzioni personalizzate]]