Sto seguendo le buone pratiche di programmazione e sto registrando gli errori PHP in file invece di visualizzarli all'utente. Io uso set_error_handler()
per quello.@ gestore soppressione degli errori e set_error_handler
Ora il problema. Ad esempio, ho da qualche parte:
@file_exists('/some/file/that/is/outside/openbasedir.txt');
Ma nonostante l'operatore di soppressione degli errori, il messaggio di errore registra. Non lo voglio Voglio che gli errori soppressi non vengano trasmessi al mio gestore degli errori.
Evitare l'uso di '@'. È un buon segno, che hai fatto qualcosa di sbagliato e non vuoi ripararlo. Tuttavia, viene richiamato il callback errorhandler, anche se l'istruzione stessa è "silenziata" tramite '@'. – KingCrunch
Penso che l'uso di '@ $ a' sia accettabile invece di' isset ($ a)? $ A: '' '. La leggibilità del codice sovrappone gli "svantaggi". –
@Rok: noterete che ha anche alcune implicazioni sulle prestazioni; '@' nasconde gli errori, ma sono ancora generati, formattati, i gestori degli errori sono chiamati, ecc. Basta strutturare il codice in modo da non dover usare molto isset(). – arnaud576875