ホームページ >バックエンド開発 >PHPチュートリアル >シンプルなページバッファリング技術に関する PHP_PHP チュートリアル
実際、それをテクノロジーと呼ぶことは、本当のテクノロジーとはみなされないかもしれません。これはあくまで私自身のページ処理方法であり、もちろん他の人の考えと一致する可能性もあります。でも、やっぱり素敵な名前を付けたいですよね。では、ここで私が言っているページバッファリングとは何でしょうか?これは、動的に生成されたページを次回使用するために保存することを意味します。こうすることで、次回アクセスするときに動的に生成する必要がなくなる可能性があります。キャッシュを提供するようなものです。私のサイト、そしておそらくあなたのサイトでも、ユーザーに表示されるページが動的に生成されるように、テンプレートなどの技術を使用しています。しかし、あなたにとってこのようなページは、他の人にとっても同様である可能性があります。つまり、一定期間は変化しないでしょう。前回生成された結果が、訪問したユーザーに直接返された方がよいと思いませんか。次回?生成時間が短縮され、効率が高くなります。ウェブサイトが発展するにつれて、速度と効率の問題を依然として考慮する必要があると思います。ここで私の実装を紹介します。皆さんのお役に立てれば幸いです。それは単なるアイデアであり、具体的な実装はありません。
使用条件
すべての Web ページで使用するのが最善ですか?必要ないと思いますし、不可能です。バッファリングできる理由は、次のアクセスの内容が前回のアクセスの内容と全く同じである可能性があるためである。したがって、頻繁に変更されるページには適していません。たとえば、ページにカウント情報を表示することは適切ではありません。また、動的ページを最初に変数に出力せずに、echo、print、readfile、その他の出力を使用してユーザーに直接返す場合、個人的にはまだ不可能だと思います。出力結果を取得してファイルに保存することができないためです(とにかく、私は長い間考えてきましたが、出力を切り取ってファイルにリダイレクトできるものを何も思いつきませんでした)。動的ページのより適切な処理は、出力結果を文字列に配置することです。ということで、利用条件としては、
基本的にページは変わらない
動的ページの処理結果は文字列に保存できる
動的ページの処理にはテンプレートクラスを使うと良い。テンプレートに置換可能な変数を設定し、実際の値に応じて対応するテンプレート内の変数を置換することにより、この種のテンプレート クラスの処理は、処理されたページを保存するのに非常に適しています。もちろん、テンプレートクラスを使用せずに文字列処理によって出力結果を生成することも可能です。それをどのように行うかについては議論されません。
実装
前述したように、これは実際の実装ではなく、実装のアイデアです。
処理の流れ:
アクセス要件に従って、バッファファイル名を生成します
ファイル名が存在するかどうかを確認し、ファイルが存在しない場合は、動的ページを生成し、ページを保存し、同時に結果を出力します。 end; 存在する場合は、ステップ 3 を実行します。
ファイルの変更時間と動的ページ生成に関連するファイルの変更時間の統計
バッファー ファイルの変更時間を他のページの変更時間と比較します。他のページがバッファ ファイルの変更時間より大きい場合、動的結果が変更される可能性があると考えられ、動的ページ結果を再生成し、ファイルに保存して結果を出力します。そうでない場合は、ステップ 5 に進みます。