Questo comportamento è dovuto all'impostazione della segnalazione degli errori a -1. Questo è il comportamento predefinito di laravel - vedi linea 14 in vendor/laravel/framework/src/illuminate/Foundation/start.php
se si sta utilizzando laravel 4, o la linea 29 in vendor/laravel/framework/src/illuminate/Foundation/Bootstrap/HandleExceptions.php
se si sta utilizzando laravel 5:
error_reporting(-1); // Reports everything
gestore degli errori del laravel rispetta il livello di error_reporting
, e ignorerà eventuali errori che dici a PHP di non segnalare. Vale la pena ricordare che cambiare il livello di segnalazione degli errori non è una buona idea. Ma per ignorare l'istruzione precedente è possibile aggiungere il vostro errore preferenze di reporting nel app/start/global.php
(in laravel 4) o app/bootstrap/app.php
(in laravel 5)
error_reporting(E_ALL^E_NOTICE); // Ignores notices and reports all other kinds
Anche in questo caso non è una soluzione. È semplicemente quello che stai chiedendo. Tutti e eventuali errori, avvertenze, notifiche ecc. Possono e devono essere corretti.
Potete vedere tutte le costanti per la segnalazione degli errori qui: http://www.php.net/manual/en/errorfunc.constants.php
È possibile ottenere ulteriori informazioni su come utilizzare error_reporting qui: http://php.net/manual/en/function.error-reporting.php
Sto usando questo per disattivare la modalità rigorosa, che credo sia un utilizzo non male. Modalità rigorosa [fa molto poco per te] (http://stackoverflow.com/a/25826279/1709587) in primo luogo e viene [rimosso dalla lingua] (https://wiki.php.net/rfc/ reclassify_e_strict) in PHP 7, insieme alla rimozione completa di due degli avvertimenti che cadevano sotto quel livello - in particolare il divieto totalmente irrazionale dei metodi statici astratti in modalità rigorosa. È una decisione discutibile su parte di Laravel per abilitare E_STRICT di default, secondo me. –
aggiungendo 'error_reporting (E_ALL^E_NOTICE); 'in' app/bootstrap/app.php' sembra non funzionare con laravel 5.1 – Moppo