[Smarty]テンプレートの変数・配列を調べる

私がスマートフォンのゲーム製作の現場に入った時は、htmlとcssとjavascriptしかわかりませんでした。 モバゲー内のゲームだったのですが、そこではPHPのcodeigniterをフレームワークとして採用していて […]

私がスマートフォンのゲーム製作の現場に入った時は、htmlとcssとjavascriptしかわかりませんでした。
モバゲー内のゲームだったのですが、そこではPHPのcodeigniterをフレームワークとして採用していて、テンプレートエンジンとしてsmartyが使われていました。

smartyなんて初耳だったので当初、エンジニアの方々に色々と聞きながら作業していました。
今回はsmartyについて自分が使用しているものについて簡単に紹介できたらと思います。

テンプレートに渡っている変数・配列の値を調べる

テンプレートファイルに変数が帰ってきているかを調べる方法です。

{$arena_rank|var_dump}

上記例ではarena_rankという変数について、テンプレートに記載した場所に表示します。
phpでおなじみらしいvar_dumpですね。
smartyだと下記のようにもかけるようです。ちょっと表示のされ方が違います。

{$areaList|@debug_print_var}

divで囲っているのは表示された時にブラウザで見やすくするためです。別になくても大丈夫です。

smartyの標準機能でテンプレートに

{DEBUG}

と書くことで別ウィンドウで変数一覧を表示してくれます。

基本上記3つを私はよく使います。
別ウィンドウに表示する機能はPHP側の設定で常時表示にもできるようです。
詳しくは下記を参考にしてください。
常にデバッギングコンソールを表示する方法 

Smartyおすすめ書籍

Smartyは古い書籍しかなく、Kindle版しかありませんでしたが下記が入門におすすめです。
「Smarty 3を覚える本」