[Zend Framework] Zend_View: 独自のビューヘルパーを作成する

[markdown]
[ビューヘルパーをいろいろ見てきましたが](https://www.d-wood.com/blog/2013/06/26_4128.html)、独自のビューヘルパーが作れるようなので、方法を調べて試してみました。
[/markdown]

[markdown]

## パスを確認する

デフォルトでは、Zend_View は "Zend/View/Helper/*" からヘルパークラスを探します。」とマニュアルにあります。

zf で作られたディレクトリ application/views/helpers に置いたところ、うまく探してくれました。

* application/views/helpers

ちなみに「推奨されるプロジェクト・ディレクトリ構造」では、いくつかhelpersディレクトリがあります。
どう使い分けるんだろうか。

> * [ビューヘルパー – Zend_View – Zend Framework](http://framework.zend.com/manual/1.12/ja/zend.view.helpers.html#zend.view.helpers.paths)
> * [Zend Framework入門(10): Zend Frameworkにおけるビューの処理 – Zend_View(後編) – (1/3):CodeZine](http://codezine.jp/article/detail/2929)

## 作成のためのルールとサンプル

命名などにルールがあるため、これに則ってヘルパーを用意する必要があります。

> * [ビューヘルパー – Zend_View – Zend Framework](http://framework.zend.com/manual/1.12/ja/zend.view.helpers.html#zend.view.helpers.custom)
> * [[Zend Framework][php] 独自のZend_Viewのビューヘルパーの作り方① – wadslog](http://wadslab.net/2008/07/zend_view/)

サンプルを参考にこのようなファイルを用意して配置します。

“`php:application/views/helpers/SpecialPurpose.php
_count++;
$output = “‘The Jerk’ を {$this->_count} 回見ました。”;
return $this->view->escape($output) . ‘
‘;
}
}
“`

viewファイルに下記のような書き方で使用します。

“`php:application/views/scripts/news/index.phtml
specialPurpose(); ?>
specialPurpose(); ?>
specialPurpose(); ?>
“`

view_helper 2013-06-27 13-54-00

## ビューヘルパーを作ってみる

ビューヘルパーからビューヘルパーを呼ぶこともできるよう。
何か作ってみようかと思ったが、ネタが思い浮かばず。
下記から、Strcut ヘルパーを試してオーとなった。
ビューを助けるの意味が分かったような気がします。

参考サイト

> * [[Zend Framework] [php]独自のZend_Viewのビューヘルパーの作り方② – wadslog](http://wadslab.net/2008/07/zend_view-2/)
> * [Zend Framework – ビューヘルパー記述例](http://doremi.s206.xrea.com/zend/etc/viewhelper.html)
> * [Zend Framework入門(10): Zend Frameworkにおけるビューの処理 – Zend_View(後編) – (1/3):CodeZine](http://codezine.jp/article/detail/2929)
> * [WebTecNote – [ZF] Zend_View HeadTitle method tips](http://tenderfeel.xsrv.jp/php/zend-framework/1048/)

[/markdown]