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:
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:
Grazie alle Engine Exceptions di PHP 7 si potrà ricorrere invece ad una sintassi come la seguente:
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:
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!
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: