複数のバージョンでサポートされる拡張機能
商用で使用する拡張機能を作成する場合、複数のMagentoバージョン、おそらくCEとEEでも機能するようにすると便利です。 ただし、コアがバージョンごとに変更されるため、これが計画どおりに機能しない場合があります。 私の質問は、拡張機能に影響する小さなコア変更をどのように処理すればよいかについてです。リファクタリングを必要とする大きな変更について話しているのではありません。 これを明確にするための例を次に示します。 CE 1.8.1(およびEE 1.13.1)以降、このメソッドは動作方法をVarien_Io_File::write変更し(シグネチャは同じです)、以前filePutContentと同じように動作するメソッドが登場writeしました。 今私は何かハッキーなことをして、同じ結果を達成するためにどの方法を使用するかを知るためにMagentoのバージョンをチェックします /** @var Varien_Io_File $io */ if (version_compare(Mage::getVersion(), '1.8.1', '<')) { $io->write($destinationFile, $contents, 0777); } else { $io->filePutContent($destinationFile, $contents); } これはEEでも動作するようにしたいのですが、1.8.1はCEに固有であるため、さらに醜くなります。したがって、上記のコードは次のようになります /** @var Varien_Io_File $io */ if (version_compare(Mage::getVersion(), $this->getCurrentVersion(), '<')) { $io->write($destinationFile, $contents, 0777); } else { $io->filePutContent($destinationFile, $contents); } メソッドgetCurrentVersionは次のようになります public function …