Tips and Tricks

Home | Tips and Tricks | Art. # 52

Nascondere gli errori con l'operatore di silence del PHP

Registrazione Domini
Registrazione Domini Internet ai prezzi più bassi d'Europa: soli 5,40 euro più IVA all'anno!

Quando si programma capita spesso che si verifichino degli errori indipendenti dalla nostra volontà. Si tratta di eccezioni o di eventi casuali come un temporaneo down del server.

Non c'è molto da ricamare su questi aspetti, se non dire che non è certamente sicuro e nemmeno professionale mostrare agli utenti, in fase di navigazione, la dicitura tecnica dell'errore che si è verificato.

Il PHP mette a disposizione un apposito operatore per far fronte a questi inconvenienti, ovvero l'operatore di silence, rappresentato dalla chiocciola (@) che ottempera alla funzionalità di gestione degli errori in PHP.

La sua sintassi è semplicissima: va anteposto alla riga che potrebbe potenzialmente generare un errore, come nell'esempio che segue:

<?
    $a = 10;
    $b = 0;
    $c = $a / $b;
    echo $c;
?>

La divisione per zero è una delle maggiori casistiche di errore che in un'applicazione Web può accadere. Per evitare che il server restituisca un errore utilizziamo dunque l'operatore di silence come segue:

<?
    $a = 10;
    $b = 0;
    @$c = $a / $b;
    echo $c;
?>

Abbiamo semplicemente aggiunto la chiocciola avanti alla variabile che viene utilizzata come "capro espiatorio" o come "elemento di merito" del successo o dell'insuccesso dell'operazione.

Molto più delicato il caso della connessione a MySQL, dato che in questo caso si possono mettere gli utenti smaliziati in condizione di far danni al database, oppure semplicemente di fare figuracce con gli utenti.

Utilizziamo dunque l'operatore di silence avanti a tutte le funzioni che PHP dedica a MySQL per gestire la connessione e la gestione del database, come nell'esempio che segue:

<?
    // ...
    @mysql_select_db("nome_database", $cn);
    // ...
?>

Si consiglia vivamente di abbracciare questa causa.

 

Scritto in data 19/02/2008

Segnalalo ad un Amico | Aggiungilo ai Preferiti

© 2008 Appunti PHP - A cura di Luca Ruggiero - Partita IVA 05564851219 - Privacy | Pubblicità | Contatti