備忘録的な @7wk

phpとjavascript系をメインに扱っていく予定。

fuelphpでタブと改行の削除

表示の際、タブと改行は邪魔な場合がほとんどです。
fuelphpで実装する場合、どう実装するのがベストなのかは
いまいちわかりませんがResponseクラスで実装します。

fuel/app/class/response.php
<?php
class Response extends \Fuel\Core\Response {
  public function body($value = false) {
    if ($value === false) {
      return $this;
    }
    if ($this->headers) {
      $this->body = $value;
    } else {
      $this->body = str_replace(array("\t", "\r", "\n"), '', $value);
    }
    return $this;
  }
}

if ($this->headers)で
headerを弄ってる場合は処理しないようにします。
api系が反応して見難くなります。
他にdevの場合処理しないとかで条件を付加してもいいでしょう。

あとはbootstrap.phpで設定をします。

fuel/app/bootstrap.php
<?php
// 該当部分のみ
Autoloader::add_classes(array(
  // Add classes you want to override here
  // Example: 'View' => APPPATH.'classes/view.php',
  'Response' => APPPATH . 'classes/response.php',
));

以上でタブも改行も出力時に削除されるかと思います。
テンプレートエンジンを使っていても大丈夫です。