参考にさせて頂いたページ
ヘルパー — CakePHP Cookbook 2.x ドキュメント
最も簡易的な構造で作ってみる
View/Helper/ExampleHelper.phpの作成とその記述内容
例として以下の通り。
<?php // AppHelperの使用を宣言 App::uses('AppHelper', 'View/Helper'); // AppHelperを継承して、ExampleHelperクラスを作成 class ExampleHelper extends AppHelper { // hogeメソッドを定義 public function hoge($text = 'デフォルト設定文字列') { // 引数$textをhtml要素と結合する $html = '<div class="foo">' . $text . '</div>'; return $html; } }
任意のControllerに記述する内容
public $helpers = array('Example');
Viewに記述する内容
例として以下の通り。
<?php // 引数の初期値を利用しない場合のView記述 echo $this->Example->hoge('サンプルテキスト'); ?> <?php // 引数の初期値を利用する場合のView記述 echo $this->Example->hoge(); ?>
cakephpのHelperを内包させて作ってみる
View/Helper/LinkHelper.phpの作成とその記述内容
例として以下の通り。
<?php // AppHelperの使用を宣言 App::uses('AppHelper', 'View/Helper'); // AppHelperを継承して、LinkHelperクラスを作成 class LinkHelper extends AppHelper { // cakephpのHtmlヘルパーを使用することを宣言 public $helpers = array('Html'); // myLinkメソッドを定義 public function myLink($title, $url, $options = array('class' => 'hoge')) { // $linkに返り値を格納 $link = $this->Html->link($title, $url, $options); // 自分が追加したい要素を追加して、$linkに格納 $link = '<div class="editOuter">' . $link . '</div>'; return $link; } }
任意のControllerに記述する内容
public $helpers = array('Link');
Viewに記述する内容
例として以下の通り。
<?php // 引数の初期値を利用しない場合のView記述 echo $this->Link->myLink( 'Change this Recipe', 'http://book.cakephp.org/2.0/ja/views/helpers.html', array( 'id' => 'example_id' ) ); ?> <?php // 引数の初期値を利用する場合のView記述 echo $this->Link->myLink( 'Change this Recipe', 'http://book.cakephp.org/2.0/ja/views/helpers.html' ); ?>