• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Guida Engine Exceptions & Fatal Error PHP 7

PSiimo

Utente Master
Autore del topic
7 Febbraio 2009
2.503
85
Miglior risposta
0
Oggi cercherò di spiegarvi Engine Exceptions basate sugli oggetti \EngineException.
Come ben sappiamo, PHP, gestisce error types sulla base di 4 gruppi qui proposti per ordine di gravità: notices, warnings, recoverable fatal e fatal, fino a PHP 7 questi ultimi erano di difficile gestione per via del fatto che essi non sono stati concepiti al fine di invocare il gestore nativo delle eccezioni (error handler), motivo per il quale il loro verificarsi portava comunque ad un’interruzione inattesa, e soprattutto immediata, dello script in fase di esecuzione.

L’esempio che mostrerò sarà, un caso tipico di mancata gestione di un errore fatale, cioè quello del passaggio di un paramento NULL ad un metodo:
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
Cosa ho fatto?, ho creato una funzione di nome "mostra_errore", gli assegno una variabile chiamata "oggetto" e la variabile ha come valore un "method", che non riporterà a nulla, quindi ora vi scrivo l'errore che il browser vi elencherà all'apertura della pagina .php:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Grazie alle Engine Exceptions di PHP 7 si potrà ricorrere invece ad una sintassi come la seguente:
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Quindi possiamo dedurre che le Engine Exceptions non operano in modo automatico al presentarsi un errore fatale, motivo per il quale sarà necessario adottarle all’interno di un blocco try/catch, altrimenti l’esito dell’esecuzione sarà la mancata gestione dell’errore.

Questo fa capire come PHP 7 sta cercando di girare attorno a dei problemi che fino a poco tempo fà erano non dico di grave risoluzione, ma che portava una accurata controllata al codice scritto.
PHP 7 si sta dimostrando una rivoluzione nell'ambito PHP ed è ancora pieno di sorprese future e attuali novità.

Grazie per la lettura, alla prossima spiegazione. :bye: