Corsi on-line

Evitare la notifica “Cannot redeclare function” negli script PHP

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.

Post correlati
I più letti del mese
Tematiche