Flexyソース解析

コンパイル機能有りのテンプレートを使うとしたらFlexyになるのかなぁ。
WEB+DB PRESSのvol.18を買いに行ったんだけど、あまり詳しく出てなかったからやめておいた。


そんでどうも気になるのがforeachの書き方。
ループの中に変数が沢山ある場合って

<tr flexy:foreach="arr,val">
  <td>{val["id"]}</td>
  <td>{val["name"]}</td>
  ・・・
</tr>

とかやらないとダメってこと?


この動作を何とか変えるには・・・
Compiler/Standerd.php か Compiler/Flexy.php の toStringForeach($element) 関数をいじれば何とかなりそうな気はする。



コンパイル形式なら明示的にforeachの中で使われる変数を示しておかないとやりにくいのかな。


できれば

<!-- {foreach:arr} -->
<tr>
  <td>{id}</td>
  <td>{name}</td>
</tr>
<!-- {end:} -->

って出来たら非常に有り難いんだけど需要は無いのかな。



この場合は既にidやnameが定義されているとループ中のみ上書きされる。
コンパイル後のソースが、foreachを抜けた後もidやnameが上書きされたままっていう仕様なら出来ないか・・。


簡単なサンプル作って実験・・・してる暇はあるかな。