Magento2:プラグインと設定の基本的な違いは何ですか?
magento2チュートリアルでプラグインと設定の両方を使用しましたが、どちらも正常に機能していますが、基本的な違いは何ですか。 プラグインのコード: 1.1)di.xmlにプラグイン宣言を追加します。 <type name="Magento\Catalog\Model\Product"> <plugin name="magento-catalog-product-plugin" type="Training\Test\Model\Product" sortOrder="10"/> </type> 1.2)プラグインクラスを作成します。 <?php namespace Training\Test\Model; class Product { public function afterGetPrice(\Magento\Catalog\Model\Product $product, $result) { return 5; } } 好みのコード: 2.1)プリファレンス宣言を作成します。 <preference for="Magento\Catalog\Model\Product" type="Training\Test\Model\Testproduct" /> 2.2)新しい製品クラスを作成します。 <?php namespace Training\Test\Model; class Testproduct extends \Magento\Catalog\Model\Product { public function getPrice() { return 3; } }