ホームページ >バックエンド開発 >PHPチュートリアル >PHPの詳しい説明 register_shutdown_function function_PHPチュートリアル

PHPの詳しい説明 register_shutdown_function function_PHPチュートリアル

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-07-13 17:49:43860ブラウズ

スクリプトは頻繁に機能しなくなり、必ずしも見た目が良くなるわけではありません。致命的なエラーや空白のページ (display_errors がオフに設定されている場合) をユーザーに表示することは望ましくありません。
PHP には register_shutdown_function と呼ばれる関数があり、実行がシャットダウンされたとき、つまりスクリプトの実行が完了したとき、または予期せず終了して PHP の実行がシャットダウンされたときに呼び出すことができる別の関数を設定できます。この関数が呼び出されるため、スクリプトの先頭で変数を false に設定し、スクリプトの最後で変数を true に設定する方法を使用して、PHP がコールバック関数を閉じてスクリプトが実行されたかどうかを確認できます。完成しました

変数がまだ false の場合は、スクリプトの最後の行が実行されなかったことがわかります。そのため、致命的なエラーを表示する必要がある場合を示す、非常に基本的な例を用意しました。ユーザーに適切なフィードバックを与える必要がありますか? 致命的なエラーの表示をオフにすることで、例の見栄えを良くすることができます (注釈: display_errors と error_reporting を設定できます)。

$clean = false; 関数 shutdown_func(){ グローバル $clean; if (!$clean){ die("not a clean shutdown") } register_shutdown_function("shutdown_func"); = new FooClass(); // 致命的なエラーで失敗します $clean = true;
ご覧のとおり、シャットダウン コールバック関数の実行中に clean 変数が true に設定されていない場合、shutdown_func 関数は何かを出力します (グローバル変数を使用せずに) クラスにパッケージ化できます。
PHP には、スクリプトが終了する前に登録された関数、つまり PHP プログラムの実行時に実行される関数をコールバックできる register_shutdown_function() 関数が用意されています。

phpプログラマーステーション

例:



register_shutdown_function の例 "; phperz~com for($i=0;$i
register_shutdown_function の機能は、このページのすべてのスクリプトが実行された後に実行される関数を指定することです。


function aaa() { echo 'ファイルの作成'; if($ttt = fopen('D:/web_root/tx.txt',"w+")) //ここでは絶対パスを使用する必要があり、相対パスは無効になります。理由については、以下の説明を参照してください。 { fwrite($ttt,'you are write after exit'); fclose($ttt) } } // 関数名には括弧は必要ありません。引用符を使用してください。 aa 関数は、このページのすべてのステートメントが実行されるかタイムアウトするときに使用されます。終了(); ?>

Register_shutdown_function 実行メカニズムは次のとおりです。php は呼び出される関数をメモリに転送します。この関数は、ページ上のすべての PHP ステートメントが実行されたときに再度呼び出されます。この時点では、PHP ページからではなくメモリから呼び出されるため、PHP は元のページが存在しないとすでに想定しているため、上記の例では相対パスを使用できないことに注意してください。相対パスはまったくありません。



注: register_shutdown_function は、すべての PHP ステートメントが実行された後に関数を呼び出すことを意味します。クライアントがストリーミング ブラウザ ページを閉じるときに関数を呼び出すとは理解しないでください。



呼び出し条件は次のように理解できます:

1. ユーザーによりページが強制停止された場合

2. プログラムコードがタイムアウトした場合

3. PHPコードの実行が完了したら
毎日笑ってください
より抜粋

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/478332.html技術記事スクリプトは頻繁に機能しなくなり、常に見た目が良くなるわけではありません。致命的なエラーや空白のページ (display_errors がオフに設定されている場合) をユーザーに表示する必要はありません。 PHP
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。