[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
= $this->specialPurpose(); ?>
= $this->specialPurpose(); ?>
= $this->specialPurpose(); ?>
“`
## ビューヘルパーを作ってみる
ビューヘルパーからビューヘルパーを呼ぶこともできるよう。
何か作ってみようかと思ったが、ネタが思い浮かばず。
下記から、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]