婚活LABより、ブライダルネットの期間限定クーポン配布中!!

【PHP】サクッと覚えるob_start関数の基本的な使い方。

【PHP】サクッと覚えるob_start関数の基本的な使い方。

PHPの関数の中でも私のお気に入り。処理や出力をバッファリングしてくれる関数、ob_start関数について初心者向けに解説します。まず、これだけは押さえておけば問題ない使い方に絞ってサックと思えてしまいましょう。コードの視認性も上がるとても便利な関数です。

ob_start関数について

ob_start関数は単体では使用しません。良く使われる使い方ではob_end_cleanとob_get_contents関数と合わせて使われます。まずob_start関数でバッファリングを開始し、ob_end_cleanでバッファリングした内容を破棄します。

その途中(ob_end_clean関数で破棄する前)でob_get_contents関数を使い変数に代入し、後から出力する使い方が一般的です。

バッファとは?

ここで言うバッファとは、データを一時的に記憶しておく領域のことを指します。

youtube等で動画ストリーミング再生中などにもスムーズに再生させるために、先の動画を予めバッファに保存しておく技術が使われています。

でば、実際に使用例を見ていきましょう。

基本的な使い方

この手順だけは何度も書きますが覚えておきましょう。

  1. ob_start関数でバッファを開始。
  2. ob_get_contents関数でこれまでにバッファリングした処理や出力を変数に代入。
  3. 忘れずにob_end_crean関数でバッファリングした内容を破棄する。
    ※この処理を忘れるといつまでもバッファリングしてしまう為、以降の処理が実行されない。

ではまずサンプルコードから。今回はPHPを一旦終了タグで閉じてHTMLで直接『Hellow world』を出力させてみる。

<?php
function helloWorld(){
ob_start();
?>
<p>Hello World</p>  <!-- HTML部分 -->
<?php
$buffer = ob_get_contents;
ob_end_clean;

return $buffer;
}; 

簡単に解説すると、ob_start関数でバッファリングを開始し、ob_end_clean関数で破棄される前にob_get_contents関数にて変数$bufferにそれまでの処理を代入しています。

これだけ簡単なユーザー定義関数であれば、そのままechoで出力したほうが手っ取り早いですがより複雑な処理などを行う際はこのob_start関数が大変役に立ちます。

グループサイト。婚活LABより!婚活無料診断実施中!

CTA-IMAGE 簡単な質問に答えるだけですあなたに最適な婚活タイプが丸わかり!