In Magento 1
diesen Verzeichnissen haben wir unsere Klassen abgelegt
- Block
- Helfer
- Modell
- Ressource
Verwenden Sie einen einfachen Klassennamen ohne Großbuchstaben in der Mitte des Namens.
Schauen wir uns einige Fälle in Magento 2 Core
Helfer
Ort :
- \Foo\Bar\Helper
Name :
- *.php
Beispiele :
- \Magento\ImportExport\Helper\Report
-\Magento\Cms\Helper\Wysiwyg\Images
Beobachter
Ort :
- \Foo\Bar\Observer
Name :
- *.php
- *Observer.php
Beispiele :
- \Magento\CustomerCustomAttributes\Observer\SalesOrderAddressAfterLoad
-\Magento\CustomerBalance\Observer\ProcessBeforeOrderPlaceObserver
Plugins
Speicherort :
- \Foo\Bar\Plugin
Name :
- *.php
- *Plugin.php
Beispiele :
- \Magento\Catalog\Plugin\Block\Topmenu
- \Magento\PageCache\Model\App\FrontController\BuiltinPlugin
Quelle : http://devdocs.magento.com/guides/v2.0/extension-dev-guide/plugins.html#declaring-a-plugin
ConfigProvider
Ort :
- \Foo\Bar\Model
Name :
- *ConfigProvider.php
Beispiele :
- \Magento\Tax\Model\TaxConfigProvider
-\Magento\Payment\Model\IframeConfigProvider
Meine Fragen sind:
- Gibt es irgendwelche
good
/bad
/best
Praktiken dafür inMagento 2
? - Wenn ich
DataProvider
zum Beispiel eine benutzerdefinierte erstellen möchte, welche wird es sein?\Foo\Bar\Provider\CustomDataProvider
\Foo\Bar\DataProvider\Custom
\Foo\Bar\Model\Provider\CustomDataProvider
\Foo\Bar\Helper\Provider\CustomDataProvider
- Wie kann man den Aufbau des Klassennamens und des Speicherorts, eines Ordners im Stammverzeichnis des Moduls, in Model, in Helper usw. bestimmen?
- Kommt es auf die abgerufene Datenquelle / den Datentyp an?
- Wann müssen wir das Suffix zum Klassennamen hinzufügen?
Ein Teil einer Antwort für
Virtual Types
: https://community.magento.com/t5/Magento-DevBlog/Virtual-Types-Naming-Convention/ba-p/61510