Magentoのエクステンション開発に関する記事の3本目です。前回はObserverやCron、コマンドラインツールについて解説をしました。今回はこれまでの内容で何度か出てきていながら、あまり深掘りしなかったdi.xmlについて解説したいと思います。 di.xmlってそもそもなんだろう? Magentoでエクステンションを開発する際に避けては通れないもののひとつがdi.xmlです。di.xmlにはもともと以下のような役割が与えられていて、使い方次第では似たようなコードの量産を避けることもできます。 インターフェイスに対する標準の実装クラス名の定義 既存のクラスに対する上書きの宣言 特定のクラスに対するコンストラクタ引数の調整 特定のクラスに対するエイリアスの宣言 特定のクラス・インターフェイスに対するプラグインの定義 今回はこのdi.xmlの仕組みについて深堀りしたいと思います。di.xmlについて理解していると、用途に合わせたクラス間の関係性を定義できるだけでなく、無駄なコードの量産を防ぐこともできます。 di.xmlを構成するタグ 最初に、di.xmlで使えるタグについて把握しておきましょう。di.xmlには、以下のようなタグが利用できます。 タグ名 親要素 子要素 属性 preference config なし for type type config arguments plugin name shared virtualType config arguments name type shared arguments type virtualType argument なし argument arguments item name xsi:type item ar
↧