PHP エラー処理メカニズム、PHP 処理メカニズム
日々のプロジェクト開発プロセスでは、予期しない異常なエラーが常に発生します。これを比較的適切に処理しないと、プログラムは非常に見栄えの悪いものになります。専門的でない場合は、他の人がシステムを攻撃するための有効な情報になる可能性があります。現時点でエラー メッセージがない場合は、コードを確認するだけです。プロジェクトに何百行ものエラーがあることは、私たちにとって非常に恐ろしいことであることを最初から認識しておく必要があります。プロジェクト開発プロセス中に例外やエラーを迅速かつ正確に特定するにはどうすればよいでしょうか。この記事はエラーや例外を自分で処理していますので、皆さんと共有してお互いの学びを兼ねてメモとして残しておきたいと思います。
システムエラーハンドラー:
PHP の通常の状況では、エラーは正常に出力されますが、一部のフレームワークでは、フレームワーク自体が独自の処理メカニズムを持っているか、コード内 (通常はこれらの関数) で処理される可能性があります。設定:
1.error_reporting(); PHP のエラー報告レベルを設定し、現在のレベルを返します
エラーレポート(レポートレベル)
パラメータレベルが指定されていない場合は、現在のエラーレベルが返されます。レベルに使用できる値は次のとおりです:
価値 |
定数 |
説明 |
|
1 |
E_エラー |
致命的なランタイムエラー。このエラーは再利用できません。スクリプトの実行が中断されました。 |
|
2 |
E_警告 |
致命的ではない実行時警告。スクリプトの実行は中断されません。 |
|
4 |
E_PARSE |
コンパイル時間分析エラー。解析エラーはアナライザーによってのみ生成されるべきです |
|
8 |
E_NOTICE |
実行時通知。見つかったスクリプトはバグである可能性がありますが、スクリプトの実行時に通常どおりに発生する可能性もあります |
|
16 |
E_CORE_ERROR |
PHP起動時の致命的なエラー。これは PHP のコアの E_ERROR のようなものです |
|
32
|
E_CORE_WARNING
|
PHP 起動時の警告。これは、PHPのコアのE_WARNINGのようなものです |
|
E_COMPILE_ERROR |
致命的なコンパイル時エラー。これは、Zend スクリプト エンジンを渡して E_ERROR を生成するのと同じです |
||
128 |
E_COMPILE_WARNING |
致命的ではないコンパイル時の警告。 Zendスクリプトエンジン経由でE_WARNING を生成するようなものです |
|
256 |
E_USER_エラー |
ユーザーが生成した致命的なエラー。PHP 関数 trigger_error() を使用してプログラマが設定したエラーに類似しています。 512 |
|
| 致命的ではないユーザー生成の警告。プログラマーが PHP の 関数を使用して設定するものに似ています。
|
1024 E_USER_NOTICE |
ユーザー生成の通知。PHP 関数を使用してプログラマが設定した通知に似ています。 2048 | E_STRICT
実行時通知。 PHP |
コードの相互運用性と互換性を高めるためのコードへの変更案 |
4096 | E_RECOVERABLE_ERROR|
キャッチ可能な致命的なエラー。 E_ERROR |
に似ていますが、ユーザー定義のハンドラーによってキャッチできます(set_error_handler() | を参照)
|
|
8191 |
E_ALL |
レベル E_STRICT を除くすべてのエラーと警告 (PHP6.0 では、E_STRICT は E_ALL の一部になります) |
ここで、$level が 0 の場合、エラー出力がオフになる、つまりエラーが出力されないことに注意してください。
2.set_error_handler()
定義と使用法
set_error_handler() 関数は、ユーザー定義のエラー処理関数を設定します。
この関数は、実行時にユーザー独自のエラー処理メソッドを作成するために使用されます。
この関数は古いエラー ハンドラーを返すか、失敗した場合は null を返します。
文法
set_error_handler(error_function,error_types)
パラメータ |
説明 |
エラー関数 |
必須。エラーが発生したときに実行する関数を指定します。 |
エラーの種類 |
オプション。ユーザー定義エラーをどのエラー報告レベルで表示するかを指定します。デフォルトは「E_ALL」です。 |
ヒント: この関数を使用すると、標準の PHP エラー処理関数は完全にバイパスされ、ユーザー定義のエラー ハンドラーは必要に応じてスクリプトを終了 (die()) する必要があります。
注: スクリプトの実行前にエラーが発生した場合、その時点ではカスタム プログラムが登録されていないため、カスタム エラー ハンドラーは使用されません。テストコードは次のとおりです:
リーリー
//上記のケースから、my_error メソッドを登録すると、システムは元のエラー処理 error_fuction() メソッドを自動的に上書きすることがわかります
上記のプログラムを実行した結果:
カスタムエラートリガー
定義と使用法trigger_error() 関数はユーザー定義のエラー メッセージを作成します。
trigger_error() は、ユーザーが指定した条件下でエラー メッセージをトリガーするために使用されます。これは、組み込みエラー ハンドラー、または set_error_handler() 関数で作成されたユーザー定義関数とともに使用されます。
不正なエラータイプが指定された場合、この関数は false を返し、それ以外の場合は true を返します。
文法
trigger_error(error_message,error_types)
パラメータ
|
説明
|
エラーメッセージ
|
必須。エラーメッセージを指定します。長さ制限は 1024 文字です。 |
エラーの種類
|
可选。规定错误消息的错误类型。 可能的值:
|
/** * * @param type $level * @param type $msg */ function my_error($level, $msg) { switch ($level) { case E_USER_ERROR: echo "ERROR:<br/>"; break; case E_USER_WARNING: echo "WARNING:<br/>"; break; case E_USER_NOTICE: echo "NOTICE:<br/>"; break; default: break; } echo "错误编号:" . $level . " <br/>"; echo "错误信息:" . $msg; } //注册错误处理器 set_error_handler('my_error'); if (89 > 8) { //调用错误触发器 trigger_error('这是错误啊', E_USER_WARNING); }
运行结果如下:
WARNING:
错误编号:512
错误信息:这是错误啊
以上所述就是本文的全部内容了,希望大家能够喜欢。

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

PHPでは、クローンキーワードを使用してオブジェクトのコピーを作成し、\ _ \ _クローンマジックメソッドを使用してクローン動作をカスタマイズします。 1.クローンキーワードを使用して浅いコピーを作成し、オブジェクトのプロパティをクローン化しますが、オブジェクトのプロパティはクローニングしません。 2。\ _ \ _クローン法は、浅いコピーの問題を避けるために、ネストされたオブジェクトを深くコピーできます。 3.クローニングにおける円形の参照とパフォーマンスの問題を避けるために注意し、クローニング操作を最適化して効率を向上させます。

PHPはWeb開発およびコンテンツ管理システムに適しており、Pythonはデータサイエンス、機械学習、自動化スクリプトに適しています。 1.PHPは、高速でスケーラブルなWebサイトとアプリケーションの構築においてうまく機能し、WordPressなどのCMSで一般的に使用されます。 2。Pythonは、NumpyやTensorflowなどの豊富なライブラリを使用して、データサイエンスと機械学習の分野で驚くほどパフォーマンスを発揮しています。

HTTPキャッシュヘッダーの主要なプレーヤーには、キャッシュコントロール、ETAG、およびラスト修飾が含まれます。 1.Cache-Controlは、キャッシュポリシーを制御するために使用されます。例:キャッシュコントロール:Max-Age = 3600、public。 2。ETAGは、一意の識別子を介してリソースの変更を検証します。例:ETAG: "686897696A7C876B7E"。 3. Last-Modifiedは、リソースの最後の変更時間を示しています。

PHPでは、Password_hashとpassword_verify関数を使用して安全なパスワードハッシュを実装する必要があり、MD5またはSHA1を使用しないでください。 1)password_hashセキュリティを強化するために、塩値を含むハッシュを生成します。 2)password_verifyハッシュ値を比較して、パスワードを確認し、セキュリティを確保します。 3)MD5とSHA1は脆弱であり、塩の値が不足しており、最新のパスワードセキュリティには適していません。

PHPは、動的なWeb開発およびサーバー側のアプリケーションに使用されるサーバー側のスクリプト言語です。 1.PHPは、編集を必要とせず、迅速な発展に適した解釈言語です。 2。PHPコードはHTMLに組み込まれているため、Webページの開発が簡単になりました。 3。PHPプロセスサーバー側のロジック、HTML出力を生成し、ユーザーの相互作用とデータ処理をサポートします。 4。PHPは、データベースと対話し、プロセスフォームの送信、サーバー側のタスクを実行できます。

PHPは過去数十年にわたってネットワークを形成しており、Web開発において重要な役割を果たし続けます。 1)PHPは1994年に発信され、MySQLとのシームレスな統合により、開発者にとって最初の選択肢となっています。 2)コア関数には、動的なコンテンツの生成とデータベースとの統合が含まれ、ウェブサイトをリアルタイムで更新し、パーソナライズされた方法で表示できるようにします。 3)PHPの幅広いアプリケーションとエコシステムは、長期的な影響を促進していますが、バージョンの更新とセキュリティの課題にも直面しています。 4)PHP7のリリースなど、近年のパフォーマンスの改善により、現代の言語と競合できるようになりました。 5)将来的には、PHPはコンテナ化やマイクロサービスなどの新しい課題に対処する必要がありますが、その柔軟性とアクティブなコミュニティにより適応性があります。

PHPの中心的な利点には、学習の容易さ、強力なWeb開発サポート、豊富なライブラリとフレームワーク、高性能とスケーラビリティ、クロスプラットフォームの互換性、費用対効果が含まれます。 1)初心者に適した学習と使用が簡単。 2)Webサーバーとの適切な統合および複数のデータベースをサポートします。 3)Laravelなどの強力なフレームワークを持っています。 4)最適化を通じて高性能を達成できます。 5)複数のオペレーティングシステムをサポートします。 6)開発コストを削減するためのオープンソース。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

WebStorm Mac版
便利なJavaScript開発ツール

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

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