PHP 出力バッファリング

WBOY
WBOYオリジナル
2024-08-29 13:07:06620ブラウズ

PHP 出力バッファリングは、入力が処理のために供給されるたびに、出力を提供しながらデータを保持することを PHP エンジンに認識させるプロセスです。 PHP エンジンが出力を提供するために実行する処理済みデータを取得すると、同時にそのデータが断片的にエンジンに送信され、ブラウザに送信されます。前述の出力バッファリング メカニズムが実行に使用される場合、データは最初に変数に格納され、次にスクリプトの一部としてブラウザに送信されるため、データ処理の効率と実現可能性が高まります。

広告 このカテゴリーの人気コース PHP 開発者 - 専門分野 | 8コースシリーズ | 3 つの模擬テスト

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

構文:

出力バッファリングには固定フォーマットはありませんが、次の方法で表現して使用できます:

<?php
function to start
php_info( ); // processing before giving the output.
use variable to assign the final value as an output
?>

PHP での出力バッファリングはどのように機能しますか?

PHP の出力バッファリングは、次のような動作の点で非常に重要です。

  • PHP はインタープリタ型言語であるため、出力ストリームによって指示されたページを簡単に表示することが困難になります。そのため、出力バッファリングなどの取り組みが行われています。
  • 出力バッファリングは、PHP スクリプトの実行後にリクエストがブラウザに送信される前にレンダリングに使用される変数にデータを保存するのに役立ちます。
  • ページに出力バッファリングとそのさまざまな機能が含まれている場合、読み込み中に歪んだり遅くなったりするすべてのページが適切になります。
  • PHP の出力バッファリングには多くの利点があります。その 1 つは、HTML が使用されるクライアントとサーバー全体の間の対話の数が減少するという事実により、開発者がこの PHP 関数を熱心に利用していることです。ブラウザに一度に送信されるため、多くのページやコンポーネントが大きな画面に表示されるような、より大きなサイズのプロジェクトにおいて、より多用途で柔軟かつ効率的になります。
  • 一方で、出力バッファ全体が他の多くの変数を使用して HTML の文字列として保存されるため、すべての HTML ファイルが文字列メソッドやその他の組み込みのカスタマイズされたメソッドで操作および変更されるため、さらに利点もあります。プログラマーによるこれは、PHP での Web ページのスムーズなレンダリングに役立ちます。
  • 他の多くの圧縮方法を使用して、レンダリングをより簡単に作成および操作することもできます。
  • Cookie とセッション管理は、PHP の出力バッファリングに関しても重要な役割を果たします。これにより、PHP の出力バッファリングが効率的に機能し、コンテンツ全体ではなくコンテンツの一部として送信されるヘッダー情報を取得できるという利点が得られます。送信する必要があります。
  • また、PHP 指向のアプリケーションで出力バッファリングを使用する前に、要件に応じて他の PHP バージョンを使用する可能性があるため、PHP バージョンに関連する互換性の問題を確認することが非常に必要であることにも留意する必要があります。 PHP の出力バッファリング機能が期待通りに正しく動作しない可能性があります。したがって、出力バッファリングが有効かどうかを確認する必要があります。デフォルトではオフになっています。
  • また、プログラマーが Cookie やセッションにも適した最小化や削減などの高度な機能を使用できるため、データベース呼び出しに関してさらにいくつかの機能も提供されます。
  • 出力バッファリングは、ほとんどのエンドユーザーが期待する、より速く、柔軟で、よりスムーズで安全なアプローチを提供するため、ページのレンダリングに細心の注意と機能を備えた最も安全で効率的なアプローチの 1 つと考えられています。
  • データを保持したりさまざまな操作を行ったりすることで、バッファリングを使用してページ全体のナビゲーションとレンダリングのプロセスを即興で実行するという、最も現代的な概念の 1 つです。

PHP 出力バッファリングの例について説明します。

例 #1

このプログラムは、出力に示されているように変数内で定義された値を置き換える、ユーザーによって定義された callback() 関数を示します。

コード:

<!DOCTYPE html>
<html>
<body>
<?php
function cll_bck($buff)
{
return (str_replace("Mobile", "Tabs", $buff));
}
ob_start("cll_bck");
?>
<html>
<body>
<p>Everyone_prefers_Mobile_over_Tabs.</p>
</body>
</html>
<?php
ob_end_flush();
?>
</body>
</html>

出力:

PHP 出力バッファリング

例 #2

このプログラムは、出力に示されているように変数を渡しながら、最終エンジンに定義されたコンテンツを取得する ob_get_contents() 関数を示します。

コード:

<!DOCTYPE html>
<html>
<body>
<?php
ob_start();
echo "Today_day_is_good. ";
$o_t_1 = ob_get_contents();
echo "and_pleasant";
$o_t_2 = ob_get_contents();
ob_end_clean();
var_dump($o_t_1, $o_t_2);
?>
</body>
</html>

出力:

PHP 出力バッファリング

Example #3

This program demonstrates the ob_start function where the output buffering gets initiated and then it gets displayed as shown in the output.

Code:

<!DOCTYPE html>
<html>
<body>
<?php
ob_start();
echo 'Text written will_get displayed easily.';
?>
</body>
</html>

Output:

PHP 出力バッファリング

Example #4

This program demonstrates the use of text that will get removed once the ob_end_clean function is called as shown in the output.

Code:

<!DOCTYPE html>
<html>
<body>
<?php
ob_start();
echo 'Text_written_will_get_removed_easily_using ob_end_clean.';
ob_end_clean();
?>
</body>
</html>

Output:

PHP 出力バッファリング

Example #5

This program demonstrates the ob_list_handlers() function which is used to return an array with the output buffer handler with the list of handlers as shown in the output.

Code:

<!DOCTYPE html>
<html>
<body>
<?php
print_r(ob_list_handlers());
ob_end_flush();
ob_start("ob_gz_handler");
print_r(ob_list_handlers());
ob_end_flush();
ob_start(function($str_2)
{
return $str_2;
});
print_r(ob_list_handlers());
ob_end_flush();
?>
</body>
</html>

Output:

PHP 出力バッファリング

Example #6

This program demonstrates the encoding and decoding of all types of possible codes being defined but if in case something is missing, or the browser is getting some value as wrong then it will return the output as shown.

Code:

<!DOCTYPE html>
<html>
<body>
<pre class="brush:php;toolbar:false">
<?php
iconv_set_encoding("int_encd", "internal_UTF_8");
iconv_set_encoding("o/p_encd", "ISO-8859-1");
var_dump(iconv_get_encoding('all_encd_types'));
?>

Output:

PHP 出力バッファリング

Conclusion

PHP output buffering is an efficient way of giving an output to the end-user by keeping the data into a buffer before putting it to the browser it keeps the data on hold and then it assigns a variable to make the reference as it gives programmers the ability to change and manipulate it accordingly for the end-user with proper requirement.

以上がPHP 出力バッファリングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。