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
}