no-image

Ethna2.3.0-preview1雑感

かなりの量の変更があったEthna2.3.0ですが、自分の環境にも適用してみました。

問題なく動いているように見えましたが、エラーがでたのでその解説を。

まず、今回のバージョンアップでSmarty依存を解決するためにTemplateEngineまわりがRendererとして一段抽象化されました。

これによって、ControllerのgetTemplateEngineでひろってこれる値が、smartyの生オブジェクトから、Ethna_Renderer_Smartyオブジェクトに変わります。

なので、私のように、テンプレートが存在しない場合、別のフォルダにあるテンプレートを拾ってくるという処理を実装するためにViewClassのforwardを継承して、自分でgetTemplateEngine -> $smarty->display()とかしてると、Ethna_Renderer_Smartyにはdisplayメソッドがないのでエラーになってしまいます。(変わりにperformメソッドを指定する必要がある)

とりあえずmethod_existsで判別するようにして回避。