だいこんの日々2

軸足をtwitterとfacebookに移しつつも、技術的な話はここに書いていきます。

Ethna 2.3.0 Preview2リリース

Ethna 2.3.0 Preview2がリリースされた。のはいいのだけれど、今回はかなり互換性がなくなっている部分があって対応が大変だ。

まず、Ethna_Controller::_setDefaultTemplateEngine()のパラメータに互換性がなくなっている。changesにある通り、最初に

$smarty =& $renderer->getEngine();

を追加すれば今まで通り。

次に、Ethna_ClassFactoryのリファクタリングに関して。「$this->um」形式でマネージャが使えなくなっているので、Ethna_ActionClassを継承して、コンストラクタ後方互換性を確保。

    /**
     *    [breaking B.C.] Ethna_ClassFactory 対応
     */
    function __construct(&$backend)
    {
        // 親クラス
        parent::Ethna_ActionClass($backend);

        // Ethna_AppManagerオブジェクトの設定
        $c =& $backend->getController();
        $manager_list = $c->getManagerList();
        foreach ($manager_list as $k => $v) {
            $this->$k =& $backend->getManager($v);
        }
    }

ふぅ。