HTML_Emoji ライブラリをテンプレートエンジンに組み込むサンプルです。 次のような機能を Zend_View に追加します。
なお、これはあくまでもサンプルということで、次のような機能の制限があります。
これでもそれなりに実用にはなると思いますが、 これとは別に、次のような機能も備えたテンプレートエンジンも開発しています。
ただし、こちらは今のところ配布する予定はありません。 興味をお持ちの方がおりましたら、ご相談下さい。
以下の3つのライブラリをインストールして下さい。
アーカイブをダウンロードしてきたら、include_path の通ったディレクトリで展開して下さい。 newproject/library のような、 各プロジェクトの library ディレクトリにインストールするのが良いでしょう。
$ cd newproject/library $ tar xvfz Revulo_View_Emoji-1.0.tar.gz $ tar xvfz Revulo_View_Phtmlc-0.6.tar.gz $ tar xvfz HTML_Emoji-0.7.tar.gz
このコンポーネントは ViewRenderer ヘルパー経由で登録して使います。 例えばブートストラップ (index.php や Bootstrap.php) 中で、 フロントコントローラのインスタンスを作成した後に、 以下のように登録することができます。
$view = new Revulo_View_Emoji(); $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer'); $viewRenderer->setView($view);
その他のタイミングで登録したい場合は、 ViewRenderer ヘルパーのマニュアル を参照して下さい。
使い方は標準の Zend_View と基本的に同じです。 ただし、絵文字の変換と HTML エスケープの処理がデフォルトで行われるので、 ビュースクリプトを書く際には次のように使い分けて下さい。
(通常の場合) <?= $foo ?> (絵文字の変換や HTML エスケープをして欲しくない場合) <?php echo $foo ?>
ビュースクリプトに絵文字を埋め込みたい場合は、 絵文字入力ソフト「i絵文字」 をインストールして使って下さい。
標準の Zend_View のオプションに加えて、以下のオプションが設定できます。
設定するには、setCompilePath(), setImageUrl() の各メソッドを用いるか、 コンストラクタのオプションで指定するかして下さい。
imageUrl の値を images/ のように相対パスで指定した場合は、 index.php ファイルの置かれているディレクトリが基準となります。 または、http://…/images/ のように絶対 URL で指定することも可能です。
動作確認用に簡単なサンプルを用意しました。 アーカイブをダウンロードし、適当なディレクトリで展開して下さい。 data/cache ディレクトリは、 Web サーバが書き込めるようパーミッションを設定して下さい。
$ cd emoji $ tar xvfz Revulo_Sample_Emoji-1.0.tar.gz $ chmod 777 data/cache
あとは http://…/emoji/public/ のような URL にアクセスすれば試すことができます。
MIT ライセンスです。