Web事業部実績紹介
Web事業部実績紹介
2011.01.26

ヘルパーでほかのヘルパーのメソッドを使う

まっちー

自分で独自ヘルパーを作ったときに、そのメソッドの中でHTMLヘルパーやFormヘルパーのメソッドを使いたい場合が、あったりしますよね。僕はわりとよくあります。

そんなときは、コントローラーでヘルパーの設定をするのと同じ方法を、ヘルパー内でもやれば使えるようになるらしい。

class UtilHelper extends AppHelper {

    //読み込むヘルパーを設定する
    var $helpers = array('Html', 'Form'); 

    function test1() {

        return $this->Html->link('test', '/');

    }

    function test2() {

       return $this->Form->text('name'); 

   }

}

こんな感じ。

いやー、これは知りませんでした。だから自分でヘルパーを作ったときに他のヘルパーを使いたいときは、そいつを継承してました。

App::import('Helper', 'Html');

class UtilHelper extends HtmlHelper {

    function test() {

        return $this->Html->link('test', '/');

    }

}

だからHTMLヘルパーとFormヘルパーの両方を使うようなときは、どうしようもないじゃんって思って、常に片方をあきらめてました。

でもこれからはあきらめなくて良いんだ。

バンザーイ。