月別アーカイブ: 2009年3月

Smartyのエラー

不明。。。

症状

Stateパターンで二つの状態にSmartyのオブジェクトを持たせてassignやdisplayの設定をしたところ、Smarty関数を呼びだすところでエラーになった。。。

しばらくデバッグしてみたけど、いまいちわからなかった。。。

対策

そこで、Smartyを継承させたSingletonパターンのMySmartyクラスを作成し、

assignの設定時に、オブジェクトを呼びだした。

すると、エラーはなくなり正常に表示されるようになった。

状態が違うオブジェクトにそれぞれ異なるSmartyオブジェクトをもたせたのがいけなかったのかな。

でも、SingletonにしたSmartyのオブジェクトを2つに持たせたらやっぱりダメだった。。

何が原因なんだ。。2つにSmartyオブジェクトを持たせるとあまりよろしくないのかな。