Smartyを直接操作

Smartyを使用する場合は、細かいことを使用としたらSmartyの設定ができないと困ることになります。現状ではよく使うであろう設定をmaple.inc.ini内で定数として保持しています。が、これだと準備された設定しかできないことになります。

Mapleに限らず、Smartyを内部で使用しているフレームワークSmartyを使う場合、不便な思いを感じることがある。細かな設定ができないとか、設定を一時的に変えられないとか(レアケースだけど)。そこでMoony 0.10.xでは、アクションクラスにインスタンス変数として$smartyと定義しておくとSmartyインスタンスがインジェクションされるようになる予定。

class Foo
{
    var $smarty;
    function execute()
    {
        // 直接設定の変更が可能
        $this->smarty->cache_lifetime = 3600;
    }
}

もちろん、普通に使う分には意識しなくてよいはず。どうしてもSmartyの設定を細かくいじりたい場合だけ、使うことになると思う。