静的変数が PHP リクエスト間で保存されないという保証を探しています。以下は以前の質問です:
複数の .php ページにわたる PHP 静的変数
php の静的変数はリクエスト間で保持されますか?
セッション間の静的変数
明確に言うと、そうではありませんが、期待される動作について具体的に説明するというよりも、状態を維持する方法を提供することに重点が置かれています。
たとえば、PHP コードが次の場合:
リーリーその後、実行するたびに 0123456789 という出力が表示されます。私の PHP に対する直感/理解では、これが事実であるに違いないとかなり確信しています。
私自身の実験では、リクエスト間で変数が記憶されないように、(事前にフォークされた) Apache をシャットダウンして子プロセスに入れました。ご想像のとおり、リクエスト間では記憶されません。ただし、これは PHP が実行される 1 つのシナリオにすぎません。
私が探しているものは次のとおりです:
これは予想される動作であり、変更されないことを記載した公式ドキュメントへのリンク。 PHP ドキュメントの関連部分では、これについては明示的に言及されていません (コメントを除く)。
また、静的変数がリクエスト間で記憶される場合 (Web サーバーやパフォーマンスを向上させる PHP フレームワークなど)、リクエスト間の速度を向上させるために静的変数をクリアしない場合があります。
P粉6548949522023-10-31 00:02:00
PHP はリクエスト間でアプリケーションの状態を保持しません。 PHP アプリケーションのライフサイクル中、アプリケーションはリクエストごとに再実行されます。静的変数は、実行がスコープを離れたときにローカル関数スコープ内の変数の値を保持するように設計されています。ドキュメントのどこにも、静的変数がリクエスト間で値を保持することを目的としているとは記載されていません。