PHP カスタム エラー ハンドラーを使用してエラー情報を処理する_PHP チュートリアル
あなたが PHP のベテランであれば、PHP スクリプトが失敗すると何が起こるかをご存知でしょう。この時点で、PHP パーサーは画面に「致命的エラー: 19 行目の未定義関数の呼び出し --」などのエラー メッセージを表示するため、プログラムはここで終了します。この情報は顧客を怖がらせ、すぐに相談の電話をしてくる可能性があります。
幸いなことに、解決策はあります。 PHP には、開発者がスクリプト エラーをキャッチし、カスタム エラー ハンドラーにルーティングできるツールが組み込まれています。この時点で、プロセッサはエラーに関するより具体的な情報を表示するようにプログラムできます。修復アクションのためにエラーをファイルまたはデータベースに書き込むこともできます。エラー メッセージを無視するようにプロセッサをプログラムできる場合もあります。
この記事では、PHP のエラー処理 API を使用してユーザー定義のエラー ハンドラーを構築する方法と、スクリプト エラー情報を簡単かつわかりやすい方法で表示および管理する方法について説明します。
エラーの種類とレポートレベル
基本から始めましょう。 PHP には、低レベルから高レベルまで、アテンション、警告、エラー (または致命的エラー) という 3 つの最も基本的なエラー タイプがあります。通常、警告や警告によってプログラムは終了しませんが、致命的なエラーはプログラムの中断を引き起こす危険なエラーです (未定義の関数の呼び出しや存在しないオブジェクトの参照など)。これらのエラーは、起動時、解析時、コンパイル時、または実行時に発生する可能性があります。
E_NOTICE、E_ERROR などのキーワードは、さまざまな種類とレベルのエラーを示すために使用されます。それらの詳細なリストは、PHP マニュアルに記載されています。
スクリプト段階でのエラー表示は、error_reporting() 関数によって制御されます。この関数は、エラー レベルごとに異なるパラメータを設定します。表 A は、この関数を使用して警告と致命的なエラーを報告するスクリプトを示しています。
テーブルA
// 警告とエラーを表示します
error_reporting(E_WARNING | E_ERROR);
// これにより通知が生成されますが、表示されることはありません
echo $unknownVar;
// これにより致命的なエラーが生成され、表示されます
callUndefFunc();
?>
表 B のコードを上記のコードと比較すると、リスト B ではエラー情報が隠蔽され、さらに致命的な情報も隠蔽されているため、エラー情報が表示されないことがわかります。
テーブルB
// エラー表示をオフにする
// エラーは表示されません
エラー報告(0);
// これにより通知が生成されます
echo $unknownVar;
// これは致命的なエラーを生成します
callUndefFunc();
?>
表 C のコードには、すべてのエラー メッセージと簡単な通知も表示されます。
テーブルC
// すべてのエラーが表示されます
エラー報告(E_ALL);
// これにより通知が生成されます
echo $unknownVar;
// これは致命的なエラーを生成します
callUndefFunc();
?>
上記の 3 つの例で示したように、error_reporting() 関数は、エラーが発生したときに画面に表示される内容を制御する上で非常に重要です。ここでキーワードが表示されているのは、エラーが発生しないというよりは、エラーが表示されないという意味です。したがって、致命的なエラー (不正な関数呼び出しなど) が発生した場合、プログラムは終了しますが、この時点ではユーザーにメッセージは表示されません。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

PHPでは、予測不可能なトークンを使用して、CSRF攻撃を効果的に防ぐことができます。特定の方法には次のものが含まれます。1。フォームのCSRFトークンを生成および埋め込みます。 2.リクエストを処理するときにトークンの有効性を確認します。

PHP8では、一致式は、式の値に基づいて異なる結果を返す新しい制御構造です。 1)Switchステートメントに似ていますが、実行ステートメントブロックの代わりに値を返します。 2)一致式の式は厳密に比較され、セキュリティが向上します。 3)スイッチステートメントの脱落の可能性を回避し、コードのシンプルさと読みやすさを向上させます。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PSカードは「ロード」ですか?ソリューションには、コンピューターの構成(メモリ、ハードディスク、プロセッサ)の確認、ハードディスクの断片化のクリーニング、グラフィックカードドライバーの更新、PS設定の調整、PSの再インストール、優れたプログラミング習慣の開発が含まれます。

PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7
