Sintags 日本語ドキュメント
※このページはSintags, The Akelos Framework special syntax for view Templatesを勝手に翻訳したものです。
※原文の意を損なわない範囲で日本語としての通りのよさを心がけた *つもり* です。
※私の趣味で体裁を変更し、お節介な訳注を入れています。

Sintags, ViewテンプレートのためのAkelosフレームワーク特殊構文

Akelosフレームワークはテンプレート言語としてPHPを用いていますが、PHP変数のループや表示は往々にして繰り返しの多い作業になり、viewテンプレートの美観を損ねます。

Akelosフレームワークは別の余計なテンプレート言語の学習を強いることを求めません。テンプレートを作るためにはPHPで十分です。しかし場合によっては、グラフィックデザイナにviewテンプレートを作成して貰う必要もあるでしょう。Sintagsには極めて限られた構文しか加えていませんので、WYSISYGなHTMLエディターで単純かつパワフルなテンプレートを作成することができます。

この特殊な構文はSintags("Sin"は「~無しで」という意味のスペイン語に由来します)として知られており、 "?", "_", "{", "}", "end", ".", "-" の文字だけを用いる、viewにおける一連の約束事です。パースされたSintagはPHPのコードに変換され、パフォーマンス向上のため、.phpファイルとしてキャッシュされます。

【訳注】この記述には"loop"と"\"も付け加えるべきであろう。

動作確認がしたければ AkSintags.php のソースコードを入手できます。このコードはループ処理のマジックを実現するため、AkInflector.php に依存しています。

Sintags ドキュメント



このテンプレート構文の殆どは、View上のアクティブレコードの表示や国際化処理を容易にするために加えられたものであり、次の基本ルールに立脚しています。
{loop *}タグには複数形の"posts"を割り当てる必要があります。そして、個々の要素の詳細を得るためには単数形の"post"を取り出します
ご覧の通り、生成されたPHPコードは自動的に付け加えられた有用な変数を備えており、その変数はコレクションをイテレートする際に役立ちます。
(以下の * を イテレート処理を行っている 配列名の単数形 に置き換えて下さい)
*_loop_counter 1ずつカウントされる繰り返し回数を保持(繰り返し処理の度にいつも決まって書くあの退屈な ++ みたいなもの)
*_loop_key 現在の配列キーを保持する
*_odd_position 奇数回数か否かの真偽値を保持する。行の色を適切に切り換えるために役立ちます。

【奥付】
SintagsはPHPに取って代わろうとしているわけではありませんが、開発をスピードアップできることを覚えておいて下さい。この構文をを使うの良いことです。viewをより明快な状態に保つことができるのですから。 ですから、viewの中に多くのPHP codeが存在し始めた場合は、いくつかの view logic を view helpers に移動することを考慮しましょう。