自分で独自ヘルパーを作ったときに、そのメソッドの中で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サイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。