ホームページ >バックエンド開発 >PHPチュートリアル >ob シリーズ関数に基づいた静的 PHP Web サイトページの実装
PHP 実行ページを HTML に事前変換することは、いわゆる PHP 静的メソッドの 1 つです。
他の方法には、テンプレート置換、opcache、その他の方法が含まれます。
静的化の役割:
Web サイトの応答速度を向上させ、サーバーの負荷を軽減します;
検索エンジンの SEO に使用します;
PHP 出力バッファーを使用して書き込みますHTML への直接入力、タイミング バックグラウンドで Web サイトを定期的にスキャンすることは、静的な Web ページを実現する比較的簡単な方法です。
静的化前:
<?php for($i=0;$i<1000;$i++){ echo "bull<br>"; } ?>
静的化:
<?php ob_start(); for($i=0;$i<1000;$i++){ echo "bull<br>"; } $str = ob_get_contents(); ob_end_clean(); $fp = fopen("test.html","w"); fwrite($fp,$str); fclose($fp); echo "<p>success write</p>"; ?>
このコードは、test.html を事前に形成します。率直に言うと、実際にはニュースのように空間と時間を交換します。この種の Web サイトの場合、公開されるコンテンツは基本的に作成後に変更されないため、静的に HTML に変換される方が適しています。
ユーザーがアクセスするときは、この HTML ページに誘導するだけです。
Apache ベンチマークを使用して効果をテストしてください:
ab.exe -n1000 -c10
# この 2 つは、実行中に 90% 以上です。接続した場合、その差は少なくとも 150 ミリ秒です。複雑な PHP と比較すると、HTML は依然として多くの計算を節約できます。
関連関数の簡単な紹介を添付します
1. Flush
: バッファと出力の内容を更新します。
関数形式: flash()
説明: この関数は頻繁に使用され、非常に効率的です。
2, ob_start
: 出力バッファを開きます
関数形式: void ob_start(void)
説明: バッファがアクティブ化されると、PHP からファイル以外のヘッダーがすべて削除されます。プログラム 情報は送信されませんが、内部バッファに保存されます。バッファの内容を出力するには、ob_end_flush() または flash() を使用してバッファの内容を出力します。
3, ob_get_contents
: 内部バッファの内容を返します。
使用法: string ob_get_contents(void)
説明: この関数は、現在のバッファーの内容を返します。出力バッファーがアクティブ化されていない場合は、FALSE を返します。
4, ob_get_length
: 内部バッファの長さを返します。
使用法: int ob_get_length(void)
説明: この関数は、出力バッファがアクティブ化されていない場合、ob_get_contents と同じように、現在のバッファの長さを返します。その後、FALSE を返します。
5, ob_end_flush
: 内部バッファの内容をブラウザに送信し、出力バッファを閉じます。
使用法: void ob_end_flush(void)
説明: この関数は、出力バッファーの内容 (存在する場合) を送信します。
6, ob_end_clean
: 内部バッファの内容を削除し、内部バッファを閉じます。
使用方法: void ob_end_clean(void)
説明: この関数は、内部バッファの内容ですが、削除してください。
7, ob_implicit_flush
: 絶対リフレッシュをオンまたはオフにします。
使用方法: void ob_implicit_flush ([int flag])
説明: Perl を使用したことがある人なら誰でも $|= を知っています。の意味 )。
関連する学習の推奨事項: PHP プログラミングの入門から熟練度まで
以上がob シリーズ関数に基づいた静的 PHP Web サイトページの実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。