[Zend Framework] Zend_View: 独自のビューヘルパーを作成する
ビューヘルパーをいろいろ見てきましたが、独自のビューヘルパーが作れるようなので、方法を調べて試してみました。
パスを確認する
「デフォルトでは、Zend_View は "Zend/View/Helper/*" からヘルパークラスを探します。」とマニュアルにあります。
zf で作られたディレクトリ application/views/helpers に置いたところ、うまく探してくれました。
- application/views/helpers
ちなみに「推奨されるプロジェクト・ディレクトリ構造」では、いくつかhelpersディレクトリがあります。
どう使い分けるんだろうか。
作成のためのルールとサンプル
命名などにルールがあるため、これに則ってヘルパーを用意する必要があります。
サンプルを参考にこのようなファイルを用意して配置します。
<?php
class Zend_View_Helper_SpecialPurpose extends Zend_View_Helper_Abstract
{
protected $_count = 0;
public function specialPurpose()
{
$this->_count++;
$output = "'The Jerk' を {$this->_count} 回見ました。";
return $this->view->escape($output) . '<br />';
}
}
viewファイルに下記のような書き方で使用します。
<?= $this->specialPurpose(); ?>
<?= $this->specialPurpose(); ?>
<?= $this->specialPurpose(); ?>
ビューヘルパーを作ってみる
ビューヘルパーからビューヘルパーを呼ぶこともできるよう。
何か作ってみようかと思ったが、ネタが思い浮かばず。
下記から、Strcut ヘルパーを試してオーとなった。
ビューを助けるの意味が分かったような気がします。
参考サイト