Manuale PHP
Indietro | Capitolo 17. Funzioni | Avanti

# Funzioni variabili

PHP supporta il concetto di funzioni variabili. Ciò significa che se un nome di variabile ha le parentesi accodate ad esso, PHP cercherà una funzione con lo stesso nome del valore della variabile, e cercherà di eseguirla. Tra le altre cose, ciò puo essere usato per implementare delle callbacks, tabelle di funzioni e così via.

Le funzioni variabili non funzionano con costrutti di linguaggio come echo(), print(), unset(), isset(), empty(), include(), require() e like. Occorre costruire una propria funzione per utilizzare questi costrutti come variabili per funzioni.

Esempio 17-14. Esempio di funzioni variabili

`<?php function foo() { echo "In foo()<br />\n"; } function bar($arg = '') { echo "In bar(); l'argomento era '$arg'.<br />\n"; } // Questa è la funzione per usare echo function echoit($string) { echo $string; } $func = 'foo'; $func(); // questa chiama foo() $func = 'bar'; $func('test'); // questa chiama bar() $func = 'echoit'; $func('test'); // questa chiama echoit() ?>`

Tramite le funzioni variabili si può eseguire anche metodi di oggetti.

Esempio 17-15. Esempio di un metodo variabile

`<?php class Foo { function Variable() { $name = 'Bar'; $this->$name(); // Questo esegue il metodo Bar() } function Bar() { echo "This is Bar"; } } $foo = new Foo(); $funcname = "Variable"; $foo->$funcname(); // Questo esegue $foo->Variable() ?>`

Vedere anche call_user_func(), variabili variabili e function_exists().

Indietro | Partenza | Avanti
Valori restituiti | Risali | Funzioni interne (built-in)