2

CodeIgniter を使用して、いくつかの内部関数をラップし、結果を json で表示しています。

時折、内部関数のデバッグ文字列が画面に表示されることがあります。そのため、出力バッファリングを使用してデバッグをキャプチャし、これを結果に追加することを開始しました$data['response']['debug'] = $ob;

このコードを公に公開されているほとんどの CI 関数にドロップし始めたため、これはかなりうまく機能しているようです。

現在、このコード フローを何度も繰り返しているようです。

「繰り返される」セクションを、必要なときに呼び出される一般的なテンプレートに抽出する最良の方法は何でしょうか? (すべての関数がこれを実装しているわけではありません - ほとんどのものです)。

コード例:

public function some_function($var){
    ob_start();  //repeated

    $this->load->model('some_model');
    $result = $this->some_model->do_something($var);

    if($result){
        $data['response']['result'] = true;
    }else{
        $data['response']['error'] = 'Something not found.';
    }

    $ob = ob_get_clean(); //repeated

    if($ob!=''){
        $data['response']['debug'] = $ob; //repeated
    }

    $this->load->view('json',$data); //repeated
}
4

1 に答える 1