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

まっちー

まっちー

自分で独自ヘルパーを作ったときに、そのメソッドの中で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ヘルパーの両方を使うようなときは、どうしようもないじゃんって思って、常に片方をあきらめてました。

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

バンザーイ。

LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。

Webサイト制作の実績・料金を見る

この記事のシェア数

プログラマのまっちーです。酒が大好きです。ある一定量のお酒を飲むと壊れたレディオモードに入り、同じことを繰り返す癖があります。宜しくお願いいたします。

このメンバーの記事をもっと読む