ログってなんぼ

日々のメモです

CakePHP:自作のHelperを作成してViewからコピペコードを無くす

Viewのために同じ実装が複数箇所にコピペされてるような状況では、ヘルパーの自作を考えたほうがいいです。

app/View/Helper/RakutenHelper.php

ファイルを新規作成。

<?php
App::uses('AppHelper', 'View/Helper');

class RakutenHelper extends AppHelper {

  public function chahgeItemcode($itemCode){
    $itemCode = str_replace(":","_",$itemCode);
    return $itemCode;
    }

}

コントローラーでヘルパーを使うよう定義

  public $helpers = array('Rakuten');

ビューの好きな部分で使うだけ

<a href="<?php echo '/items/detail/'.h($this->Rakuten->chahgeItemcode($d['Item']['itemCode']));?>">