RÉSUMÉ
L' Exécution de PHP Configuration Docs vous donner une idée pourquoi:
Permettant E_NOTICE au cours du développement a certains avantages.
À des fins de débogage: AVIS de messages vous avertir d'éventuels bugs dans votre code. Par exemple, l'utilisation de valeurs non initialisées est averti. Il est extrêmement utile pour trouver les fautes de frappe et de gagner du temps pour le débogage.
Les messages d'information vous avertir de mauvais style. Par exemple, $arr[point] est mieux d'être écrit $arr['item'] depuis PHP essaie de traiter "item" comme une constante. Si elle n'est pas une constante, PHP suppose que c'est une chaîne.
Voici une explication plus détaillée de chaque...
1. POUR DÉTECTER LES FAUTES DE FRAPPE
La principale cause de l' E_NOTICE
d'erreurs est des fautes de frappe.
Exemple - notice.php
<?php
$username = 'joe'; // in real life this would be from $_SESSION
// and then much further down in the code...
if ($usernmae) { // typo, $usernmae expands to null
echo "Logged in";
}
else {
echo "Please log in...";
}
?>
Sortie sans E_NOTICE
Please log in...
Faux! Vous ne le voulais pas!
Sortie avec E_NOTICE
Notice: Undefined variable: usernmae in /home/user/notice.php on line 3
Please log in...
En PHP, une variable qui n'existe pas, retourne null plutôt que de provoquer une erreur, ce qui pourrait provoquer des code pour se comporter différemment que prévu, il est donc préférable de tenir compte E_NOTICE
avertissements.
2. POUR DÉTECTER AMBIGUË LES INDICES DE TABLEAU
Il vous avertit également sur les indices de tableau qui pourrait changer sur vous, par exemple
Exemple de code ressemble à ça aujourd'hui
<?php
$arr = array();
$arr['username'] = 'fred';
// then further down
echo $arr[username];
?>
Sortie sans E_NOTICE
fred
Exemple - demain vous d'inclure une bibliothèque
<?php
// tomorrow someone adds this
include_once('somelib.php');
$arr = array();
$arr['username'] = 'fred';
// then further down
echo $arr[username];
?>
et la bibliothèque fait quelque chose comme ceci:
<?php
define("username", "Mary");
?>
Nouvelle sortie
Vide, parce que maintenant il s'affiche:
echo $arr["Mary"];
et il n'y a pas de clé Mary
en $arr
.
Sortie avec E_NOTICE
Si seulement le programmeur a E_NOTICE
sur, PHP aurait imprimé un message d'erreur:
Notice: Use of undefined constant username - assumed 'username' in /home/user/example2.php on line 8
fred
3. LA MEILLEURE RAISON
Si vous n'avez pas de fixer tout l' E_NOTICE
erreurs que vous pensez ne sont pas des erreurs, vous aurez probablement croître dans l'autosatisfaction, et commencent à ignorer les messages, et puis un jour, lorsqu'une erreur se produit, vous ne le remarquez pas.