ホームページ >バックエンド開発 >PHP7 >php7 で新しく追加されたものが未定義を報告しない場合はどうすればよいですか?

php7 で新しく追加されたものが未定義を報告しない場合はどうすればよいですか?

DDD
DDDオリジナル
2023-08-10 13:03:491153ブラウズ

php7 の新規追加は未定義をレポートしません 解決策: 1. php.ini ファイルを変更して、PHP のエラー報告レベルを変更します; 2. コード内で error_reporting 関数を使用して、エラー報告レベルを動的に設定します; 3 . isset や empty などの関数を使用して、変数が決定されているかどうかを確認します; 4. PHP の strict モードを使用して、使用前に変数を強制的に宣言し、潜在的な問題を早期に発見して修復できるようにします。

php7 で新しく追加されたものが未定義を報告しない場合はどうすればよいですか?

この記事の動作環境: Windows 10 システム、PHP7.4 バージョン、Dell G3 コンピューター。

PHP 7 では、未定義の変数にアクセスしたり、未定義の関数を呼び出したりした場合、エラーは報告されなくなり、代わりに E_NOTICE レベルのエラーがスローされ、NULL 値が返されます。この動作の変更は、コードの堅牢性と読みやすさを向上させることを目的としています。

ただし、一部の開発者は、潜在的な問題を早期に発見して修正できるように、PHP 7 でも未定義変数エラーが発生することを望んでいるかもしれません。幸いなことに、PHP 7 には、この動作を制御するためのオプションがいくつか用意されています。

1. php.ini ファイルを変更して、PHP のエラー報告レベルを変更します。

php.ini ファイルには、error_reporting という構成項目があり、PHP がどのエラーを報告するかを決定します。デフォルトでは、この構成項目の値は E_ALL & ~E_NOTICE です。これは、PHP が E_NOTICE レベルのエラーを除くすべてのエラーを報告することを意味します。これを E_ALL に変更して、未定義の変数のエラーを含むすべてのエラーのレポートを有効にすることができます。

2. コード内で error_reporting 関数を使用して、エラー報告レベルを動的に設定します。

たとえば、コードの先頭で次のステートメントを使用すると、すべてのエラーのレポートを有効にできます:

error_reporting(E_ALL);

3. isset や isset などの関数を使用します。変数が定義されているかどうかを確認するには、空を使用します。

これらの関数は、変数にアクセスする前に判断し、未定義の変数の使用を回避するのに役立ちます。

4. PHP の厳密モードを使用して、使用前に変数を強制的に宣言します。

Strict モードは、コードの先頭に次のステートメントを追加することで有効にできます。

declare(strict_types=1);

strict モードでは、PHP は未定義の変数にアクセスするとエラーをスローしますが、未定義の変数にアクセスするとエラーがスローされます。は自動的に NULL に初期化されます。これは、潜在的な問題を早期に検出して修正するのに役立ちます。

概要

PHP 7 で未定義変数のエラーを引き続き取得したい場合は、php.ini ファイルを変更するか、error_reporting を使用してエラーを変更できます。 function レポート レベル。isset や empty などの関数を使用して変数が定義されているかどうかを確認し、厳密モードを有効にして変数の宣言を強制します。これらの方法は、開発プロセス中に潜在的な問題をタイムリーに発見して修正し、コードの堅牢性と可読性を向上させるのに役立ちます。

以上がphp7 で新しく追加されたものが未定義を報告しない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。