7
votes

Quelles sont les différences entre error_rporting (e_all) et error_rporting (e_all & ~ e_notice)

Est-ce que quelqu'un pourrait expliquer les différences entre error_rporting (e_all); et error_rporting (e_all & ~ e_notice); ?

J'ai remarqué que lorsque je passe de e_all à e_all & ~ e_notice , une erreur que j'étais piraté, disparaît.


0 commentaires

3 Réponses :


5
votes

e_all serait toute l'erreur et l'avertissement et l'avis - tout

e_notice est un niveau d'erreur spécial, montrant des choses qui ne produiront pas d'erreur mais ne sont pas bonnes ou ne seront pas obsolètes dans la version future de PHP. Le niveau d'erreur de préavis est censé encourager les meilleures pratiques.

aussi il devrait être error_rporting (e_all ^ e_notice); pour tout signaler sauf avis.

Vous êtes des conseils pendant le développement pour définir le rapport d'erreur sur e_all et corriger toutes les erreurs de préavis.

Un look dans le manuel donnerait beaucoup plus de détails. < / p>


0 commentaires

12
votes

e_all est "tout"

e_all & ~ e_notice est "TOUT SAUF AVIS"

Les avis sont les types de messages les moins urgents. Mais ils peuvent être très utiles pour attraper des erreurs de programmeurs stupides, comme essayer de lire à partir d'un hachage avec une clé inexistante, etc.

(Pour comprendre la syntaxe, lisez sur les opérateurs binaire)


0 commentaires

2
votes

e_all est un drapeau E_notice est un drapeau aussi bien

Ainsi, lorsque vous effectuez un fonctionnement bit bitwise de ~ qui ne vous exclurez pas E_Notice de e_all P>

sous la hotte qui suit sur le capot sur la hotte se produit p>

en décimal p> xxx pré>

ils sont la puissance de 2 p>

bitwise p> xxx pré>

résultat ne sera pas p>

111111111110111
000000000001000


0 commentaires