PHP基礎編-PHPエラーレベル詳細

2933 ワード

一、前言
最近、2年ほど仕事をしている子供靴のコードも静的な方法で非静的な方法を呼び出すことがよく見られます.これはDeprecated級の文法エラーで、コードには現れるべきではありません.相手はとても気がふさいで、どうして私の環境は正常に運行することができますか?
二、詳しく
コードがエラーを報告するかどうか、およびエラー情報がPHP構成の次の2つのパラメータによって影響されるかどうかを見ることができます.現在、オンライン上の主流の構成は以下の通りです(php.iniファイル).
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
display_errors = Off

次の2つのパラメータについて詳しく説明します.
1. error_reporting
まずPHPのエラーレベルについて言えば、コードがエラーを報告するかどうかはerror_Reportingパラメータは、PHPのエラーレベルの種類を以下のように決定します(中国語版をクリックしてください):
E_ALL             - All errors and warnings (includes E_STRICT as of PHP 5.4.0)
E_ERROR           - fatal run-time errors
E_RECOVERABLE_ERROR  - almost fatal run-time errors
E_WARNING         - run-time warnings (non-fatal errors)
E_PARSE           - compile-time parse errors
E_NOTICE          - run-time notices (these are warnings which often result
                    from a bug in your code, but it's possible that it was
                    intentional (e.g., using an uninitialized variable and
                    relying on the fact it is automatically initialized to an
                    empty string)
E_STRICT          - run-time notices, enable to have PHP suggest changes
                    to your code which will ensure the best interoperability
                    and forward compatibility of your code
E_CORE_ERROR      - fatal errors that occur during PHP's initial startup
E_CORE_WARNING    - warnings (non-fatal errors) that occur during PHP's
                    initial startup
E_COMPILE_ERROR   - fatal compile-time errors
E_COMPILE_WARNING - compile-time warnings (non-fatal errors)
E_USER_ERROR      - user-generated error message
E_USER_WARNING    - user-generated warning message
E_USER_NOTICE     - user-generated notice message
E_DEPRECATED      - warn about code that will not work in future versions
                    of PHP
E_USER_DEPRECATED - user-generated deprecation warnings 

WARNING、NOTICE、DEPRECATEDなどのエラーレベルではエラーが投げ出されますが、プログラムの実行は終了しません.
2. display_errors
もう一度displayを見てみましょうErrorsパラメータ.エラー情報を表示するかどうかは、オンになっている場合にのみ表示されます(値はon|off、true|false、1|0).
開発環境はオープンに設定し、問題を早期に発見することが望ましいが、生産環境は必ず閉鎖しなければならない.(中国語版公式ドキュメントの表示をクリック)
3.問題のプレゼンテーション
以下、PHPの運転時構成を用いて、PHPのerror_を変更するReportingとdisplay_Errors、上記の問題をプレゼンテーションします.コードは次のとおりです.

このコードを実行するとtestが出力されますが、Deprecatedレベルのエラーが放出されます.このような状況は根絶し、開発を規範化し、基礎から始め、誰もが責任を負うべきだ.
本文は馬燕龍の個人ブログに先発して、分かち合うことを歓迎して、転載して出典を明記してください.馬燕龍個人ブログ:http://www.mayanlong.com馬燕龍個人微博:http://weibo.com/imayanlong馬燕龍Githubホームページ:https://github.com/yanlongma