読者です 読者をやめる 読者になる 読者になる

Zend Framework 2 で ギャル文字 をアゲポヨする 3つの方法

1. viewの結果にまるごと適用する場合
ViewのaddResponseStrategyを用います。
実装例
https://github.com/sasezaki/GyaruMoji/blob/response_strategy/Module.php

実装後こうなる
f:id:sasezaki:20120712001740p:plain

2. viewにアサインされたプロパティ個々に適用する場合
ViewのaddRenderingStrategyを用います。
実装例
https://github.com/sasezaki/GyaruMoji/tree/rendering_strategy/Module.php


3. viewのヘルパーとしてテンプレート側で明示的に指定する場合
Module extends \Zend\View\Helper\AbstractHelperとかやっちゃいましょう。
実装例
https://github.com/sasezaki/GyaruMoji/blob/view_helper/Module.php

この例は、ZF2のエースevanのmarkdownモジュールで用いられてるのを参考にしています。
https://github.com/EvanDotPro/EdpMarkdown/blob/master/Module.php
ヘルパーにした場合も当然ギャル文字のフィルタがかかっただけですので、$this->escaeHtml($this->gyarumoji($this->bar)) とエスケープしておく必要があります。


もちろん上記3つともconfig内にロジック全てを書く必要はありません。上記の['view_manager']['strategies']にはviewインスタンスが返却されるようにFactoryクラスを用意すればいいです。
https://github.com/sasezaki/GyaruMoji/blob/rendering_strategy_factory/Module.php