Smartyですが

おいらあんまりSmarty詳しくないないんですが。
なんらかのコンポーネントを作成して(たとえばビューヘルパー)DIに登録しておいて
アクションクラスにインジェクトします。
で、ビューでこのコンポーネントを使用する場合は、いちいちassignしないと
ダメなんですかね?

{action->component->method p1="arg1"}

みたいにしたら怒られるんですが・・・

{action->component assign=comp}
{$comp->method("arg1")}

これは可能みたいです。

どちらかというとSmartyの関数を作れというか登録すれということなんですかね?