日付:2015年5月30日(Magento 2の性質の変化を考慮)。
Magento 2は、インターセプターパターンを介して実装されたプラグインコンセプトを導入しました。
ドキュメントから明らかでないのは、Magentoのどのクラスとオブジェクトが「インターセプト可能」なのかということです。つまり、次のようなXMLを使用してプラグインを構成します
<config>
<type name="{ObservedType}">
<plugin name="{pluginName}" type="{PluginClassName}" sortOrder="1" disabled="true"/>
</type>
</config>
ただし、として有効なクラスは明確ではありませんObservedType
。この古いwikiの記事は、それが言うときにいくつかの手がかりを提供します
プラグイン機能は適用されないことに注意してください-依存性注入なしで作成されたクラス、つまり、演算子newを直接使用して作成されたクラス
ある任意の傍受することが可能な依存性注入を経て作成されたオブジェクトは?メソッドでObservedType
提供されるタイプヒントである必要がありますか__construct
、それとも他の何かである必要がありますか?
主に、Magento 2インターセプターを使用する前に、Magento 2インターセプターでできることとできないことを回避しようとしています。