Come è noto, in PHP effettuare la dichiarazione di una funzione associandola ad un nome già esistente all’interno di uno script ha come esito una notifica di errore sul modello della seguente:
Fatal error: Cannot redeclare function..
Questo perché il linguaggio non permette la dichiarazione di due funzioni omonime in uno stesso file; ugualmente, non sarà possibile chiamare una funzione definita dall’utente nello stesso modo di una nativa messa a disposizione da PHP stesso.
Quando si deve lavorare su un’applicazione particolarmente complessa, per esempio per l’aggiunta di un modulo, non sempre si ha la possibilità di conoscere a priori tutte la funzioni già dichiarate, è quindi frequente che un codice come il seguente:
function nome_funzione() {
// istruzioni
return true;
}
produca l’errore di cui parlavamo all’inizio del post; per evitare questo, possiamo però utilizzare una funzione di controllo, denominata “function_exists()“, che potrà essere utilizzata in questo modo:
if(!function_exists('nome_funzione')) {
function nome_funzione() {
// istruzioni
return true;
}
}
In questo modo sarà possibile verificare l’inesistenza di una funzione e, solo se questa condizione dovesse essere verificata, renderne effettiva la dichiarazione.







