2007年

CakePHP ヘルパーの出力を echo を使わずに出力する方法 このエントリーを含むはてなブックマーク

CakePHP Add comments

※この投稿の方法はバージョン1.1 までしか使用できないようです。1.2 のソースを確認したところ、$html->input の$return パラメータはなくなっていました。/app/config/core.php に AUTO_OUTPUT という定数もなくなっていました。ご注意ください。

Cakephp のヘルパーを使用していて
<?php echo $html->input('Model/filed', array()); ?>と書くところを
<?php $html->input('Model/field', array()); ?>と echo を使用せずに出力するには
/app/config/core.php
AUTO_OUTPUT = true;にすれば、自動的に出力するようになります。

私はつい echo を書き忘れてしまうので助かります。

ヘルパーのメソッドの $return パラメータを true にするとこの AUTO_OUTPUT を無効にすることもできます。
ただ、各メソッドによって、$return パラメータの位置がバラバラなので、書くときにはヘルパーのソースを確認する必要があるかと思います。

ちなにみに input の場合は
<?php $html->input('Model/field', array(), true); ?>とすると自動出力を抑止できますので、上記は何も表示されなくなります。

CakePHP 日本語マニュアル
10章 ヘルパー

関連する投稿

One Response to “CakePHP ヘルパーの出力を echo を使わずに出力する方法”

  1. CakePHP html ヘルパーでラジオボタンを表示する | Sun Limited Mt. Says:

    [...] ヘルパーの自動出力を抑止する(参考:ヘルパーの出力を echo を使わずに出力する方法) [...]

Leave a Reply

Additional comments powered by BackType

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS ログイン