それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

Smarty(旧版)は配列の配列の参照ができない。

Smarty旧版のメンテナンスやってました。


Smarty(旧版)は色々困ることが多いです。日本語、配列の扱い、オブジェクトの扱いループなど

配列の配列は見れない。

{ $list.name.data }

といった配列の配列の参照ができません。

オブジェクトのメソッドのチェインもできない。

同様にメソッドの結果を参照することもできない

{ $list->get()->toString() }

も出来ません。

キャストも出来ない

同様にキャストもアウト

(String)$list

も出来ません。

Smarty理解できない。

なんでSmartyが使われてるのか理解できないです。


Smarty でセッション値にアクセスするには

{$smarty.session.name}  #=> $_SESSION[“name"]

$_SESSION[“name"]として、直接セッション値にアクセス出来ません、ちょっとCSRFキーを参照するだけでも一苦労です。

Smarty は joinすら出来ません。

implode joinが使えない。 いちいちforeachで回さなくちゃいけません。orz 苦しい

{php}array_join(“,”, $this->_tpl_vars[’nickname_list’]){/php}

とするか

{forech from=nickname_list item=value name=loop1}
     {if $smarty.foreach.loop1.last != true},{/if}
{/foreach}

でやります。もうね。。。Smarty作った人ってPHP知らないんじゃないかと思うレベル。

いくらSmartyが改善されてるといっても1.x から 2.4を触ってみて、これでは駄目だと思うわ。作者はPHPしか知らないんじゃないか。


言語の必須機能は変数、ループ、関数、if だと思います、ループの基本機能に欠けるので苦労します。