Magento 2:仮想タイプの命名規則


10

日付:2015年6月1日(変化するMagento 2の性質を考慮して)

Magento 2では、モジュールの構成ファイルで「仮想タイプ」di.xml構成できます。これらの仮想タイプを使用すると、特定の注入された依存関係の引数を変更できます。

コアMagento 2コードでは、仮想タイプに2つの命名規則があるようです。最初の例では、仮想型の名前は実際のPHPクラス名と同じように見えます。

#File: app/code/Magento/CatalogRule/etc/di.xml
<virtualType name="Magento\Catalog\Pricing\Price\Pool" ...

2番目では、単純なバックスラッシュのない文字列が使用されます

#File: app/code/Magento/CatalogSearch/etc/di.xml
<virtualType name="advancedSearchFilterList" ...

上記の2つの命名規則に実際的な違いはありますか?つまり、選択した名前virtualTypeはその動作に影響を与えますか、それとも後で使用できるようにタイプを識別するグローバルに一意の文字列です。


うまくMagento2を学ぶ開発者にとって、これは彼らがクラス名を持つ引数をチェックして、代わりにそれが仮想タイプであることが判明したとき、私はここにも指摘した推測はかなりの混乱であるalanstorm.com/magento_2_object_manager_virtual_types
huzefam

回答:


9

仮想タイプの名前は、グローバルに一意の文字列です。異なる名前の仮想タイプの動作に違いはありません。仮想型には厳密な命名規則がありません。これは仮想型であり、実際のクラスではないことが明らかになるため、私は個人的に2番目のアプローチを好みます。


1
これは1.5年の投稿ですが、慣例はまだありませんか?私は仮想型にこれまでに必要なものを使用する必要がありますが、それでも2番目のアプローチを使用することをお勧めしますか?それとも、今までに新しい基準がありますか?
マリウス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.