8

と の違いを説明できる人はいerror_reporting(E_ALL);ますerror_reporting(E_ALL & ~E_NOTICE);か?

E_ALLから に変更するとE_ALL & ~E_NOTICE、ハッキングしていたエラーが消えることに気付きました。

4

3 に答える 3

12

E_ALL は「すべて」

E_ALL & ~E_NOTICE は「通知以外のすべて」

通知は、緊急性が最も低い種類のメッセージです。しかし、存在しないキーでハッシュから読み取ろうとするなど、愚かなプログラマーの間違いを見つけるのに非常に役立ちます。

(構文を理解するには、ビット単位の演算子を読んでください)

于 2009-11-05T07:26:02.103 に答える
5

E_ALL は、すべてのエラー、警告、および通知を行う必要があります -すべて

E_NOTICE は、特別なエラー レベルであり、エラーは発生しないものの、良くないもの、または PHP の将来のリリースで廃止されるものを示します。通知エラー レベルは、ベスト プラクティスを促すことを目的としています。

error_reporting(E_ALL ^ E_NOTICE);また、通知以外のすべてを報告する必要があります。

開発中にエラー報告を E_ALL に設定し、すべての通知エラーを修正することをお勧めします。

マニュアルを見ると、より詳細な情報が得られます。

于 2009-11-05T07:24:58.673 に答える