PEAR を使用して PHP プログラムをバッファーする 1_PHP チュートリアル
バッファリングは PHP の世界では注目のトピックです。これは、PHP によって生成される動的ページは、リクエストの結果が同じであるかどうかに関係なく、ユーザーがリクエストするたびに再計算する必要があるためです。このような過負荷は、トラフィックの多い Web サイトでは確かに耐えられないでしょう。幸いなことに、Web の結果はスクリプトを再実行してコンパイルすることなくキャッシュできます。ZendCache やオープン ソースの Alternate PHP Cache などの商用製品は、PHP スクリプトをバイト コードにコンパイルしてキャッシュする方法を提供します。 PEAR のバッファリング パッケージは、動的コンテンツ、データベース クエリ、および PHP 関数呼び出しをバッファリングするためのフレームワークを提供します。 Perl に CPAN があり、TeX に CTAN があるのと同じように、PHP にもクラス、ライブラリ、モジュールを保存するための独自の中央リソース ライブラリがあります。このライブラリは PEAR (PHP Extension and Add-On Repository) と呼ばれます。 この記事では、PEAR 環境がインストールされていることを前提としています。インストールされていない場合は、PHP Web サイトからダウンロードできます。 PEAR のバッファ パッケージには、全体的なバッファ クラスといくつかの特殊なサブクラスが含まれています。バッファ クラスはコンテナ クラスを使用して、バッファされたデータを保存および管理します。 現在 PEAR バッファに含まれているコンテナとそれぞれのパラメータは次のとおりです。 ファイル -- ファイル コンテナはファイル システムにバッファされたデータを保存し、最も高速なコンテナです。 cache_dir – これはコンテナがファイルを保存するディレクトリです。 filename_prefix – キャッシュ ファイルのプレフィックス (例: "cache_")。 shm -- shm コンテナは、バッファリングされたデータを共有メモリに配置します。ベンチマークでは、現在の実装では、このコンテナがファイル コンテナよりも遅いことが示されています。 shm_key -- 共有メモリで使用されるキー。 shm_perm – 共有メモリ データ セグメントを使用する許可。 shm_size -- 割り当てられた共有メモリのサイズ。 sem_key – セマフォのキー値。 sem_perm – セマフォの権限。 db – PEAR のデータベース抽象化レイヤー。 dsn – データベース接続の DSN。 PEAR の DB ドキュメントを参照してください。 cache_table – テーブルの名前。 phplib – phplib コンテナはデータベース抽象化レイヤーを使用してバッファを保存します。 db_class db_file db_path local_file local_path ext/dbx -- PHP のデータベース抽象化レイヤー拡張機能。データベースにバッファーを保存したい場合は、このコンテナーを使用できます。 module host db username passwd Cache_tablepersistent PEAR キャッシュを使用することで得られるパフォーマンスの向上は、選択したバッファ コンテナによって異なります。たとえば、データベースの結果をデータベース キャッシュに再度保存することは意味がありません。 PEAR Cache の関数バッファ モジュールは、PHP の組み込み関数であっても、ユーザー定義関数であっても、任意の関数またはメソッドの結果をバッファリングできます。デフォルトでファイル コンテナを使用し、バッファリングされたデータを function_cache というディレクトリに置きます。 Cache_Function クラスのコンストラクターには、3 つのオプションのパラメーターを指定できます。 $container: バッファー コンテナーの名前。 $container_options: バッファコンテナの配列パラメータ。 $expires: バッファ オブジェクトの有効期限が切れる時間 (秒単位)。 バッファリングは、通常の関数呼び出しで Cache_Function クラスの call() メソッドが使用されるときにトリガーできます。 call() の呼び出しは簡単です。1 つのパラメータは関数の名前、次に関数のパラメータ、2 番目のパラメータは呼び出される関数の最初のパラメータというようになります。例を見てみましょう。 例 1:バッファ関数とメソッド呼び出し // PEAR キャッシュの関数バッファを呼び出します。
"; } } class bar { function foobar($object) { echo '$'.$object.'->foobar('.$object.') '; } } $bar = new bar; function foobar() { echo 'foobar()'; } // Cache_Function オブジェクトを取得 $cache = new Cache_Function() // クラス foo (foo::bar()) の静的関数 bar() をキャッシュします $cache->call('. foo::bar', 'test'); // $bar->foobar() $cache->call('bar->foobar', 'bar'); > 以下では、出力をバッファリングするために Cache_Output を使用します。 例 2: スクリプトの出力をバッファリングする // PEAR キャッシュの出力バッファをロードします '.') ); // バッファリングされるページのマークを計算します。ページのバッファリングは、 // URL、HTTP GET および POST 変数、および Cookie に依存します。 $cache_id = $cache->generateID(array('url' => $REQUEST_URI, 'post' => $HTTP_POST_VARS, 'cookies' = > $HTTP_COOKIE_VARS) ); // クエリ バッファ if ($content = $cache->start($cache_id)) { // バッファ ヒット echo $content; } // バッファが失われました // -- ここにコンテンツを挿入しますコードを生成する -- // Put ページはキャッシュに保存されます echo $cache->end() ?> Cache_Output クラスを使用すると、動的データベース駆動型 Web サイト アプリケーションを静的 Web アプリケーションに簡単に変換できます。 HTML コンテンツの圧縮に GZIP が使用されることで、インターネットにアクセスするためにモデムを使用するユーザーも Cache_Output クラスの機能を拡張できます。 GZIP 圧縮された HTML コンテンツをバッファリングすることで、圧縮時間を節約します...

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

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

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

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

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。
