Genre de. Vous pouvez activer le E_NOTICE
dans votre notification des erreurs . (Liste des constantes aquí .)
Chaque utilisation d'une variable non déclarée entraînera l'envoi d'un message d'erreur E_NOTICE
.
En E_STRICT
Ces avis seront également affichés, ainsi que d'autres conseils sur la façon d'optimiser votre code.
error_reporting(E_STRICT);
Terminer le script
Si vous êtes vraiment sérieux, et que vous voulez que votre script soit résilier Au lieu de simplement afficher un avis lorsqu'une variable non déclarée est rencontrée, vous pouvez construire un fichier gestionnaire d'erreurs personnalisé .
Un exemple fonctionnel qui ne traite que E_NOTICE
avec "Undefined variable" et transmet tout le reste au gestionnaire d'erreurs PHP par défaut :
<?php
error_reporting(E_STRICT);
function terminate_missing_variables($errno, $errstr, $errfile, $errline)
{
if (($errno == E_NOTICE) and (strstr($errstr, "Undefined variable")))
die ("$errstr in $errfile line $errline");
return false; // Let the PHP error handler handle all the rest
}
$old_error_handler = set_error_handler("terminate_missing_variables");
echo $test; // Will throw custom error
xxxx(); // Will throw standard PHP error
?>
2 votes
Depuis la version 7 PHP supporte le mode strict il suffit de mettre
declare(strict_types=1);
au début de chaque fichier script, avant la déclaration de l'espace de nom.2 votes
@Code4R7 C'est un autre type de mode strict que celui mentionné dans la question.
0 votes
Vrai. Revenir à
error_reporting(E_STRICT);
.