あんまりいい記事じゃないけど、情報ないので書きます
やりたいこと
Smarty では連想配列を表現するとき、ドットを使える
でも変数の代入 (assign) のときには使えない
たとえば、
{assign var="app.hoge" value="$app.fuga.hoge"}
は内部的には次の処理になる
$vars['app.hoge'] = $vars['app']['fuga']['hoge']
取り出すときは、$vars['app']['hoge']
となるので取り出すことができない
調べてみても内部触るのが多い
{php}
$this->_tpl_vars['app']['hoge'] = $this->_tpl_vars['app']['huga']['hoge'];
{/php}
そこで思いついたのがこれ
{assign var="app" value=$app|array_merge:$app.fuga}
$app.fuga
にhoge
がいるので$app.hoge
で取り出すことができる
でもこれが使われることはなかった
すごく限定的な使い方だし、
最終的には、配列を使わない構造に PHP 側を直したので使われなかった
おしまい