In Magento 1
eravamo abituati a mettere le nostre classi in queste directory
- Bloccare
- aiutante
- Modello
- Risorsa
e usa un semplice nome di classe senza maiuscole nel mezzo del nome.
Se diamo un'occhiata ad alcuni casi in Magento 2 Core
Helpers
Posizione :
- \Foo\Bar\Helper
Nome :
- *.php
Esempi :
- \Magento\ImportExport\Helper\Report
-\Magento\Cms\Helper\Wysiwyg\Images
Gli osservatori
Posizione :
- \Foo\Bar\Observer
Nome :
- *.php
- *Observer.php
Esempi :
- \Magento\CustomerCustomAttributes\Observer\SalesOrderAddressAfterLoad
-\Magento\CustomerBalance\Observer\ProcessBeforeOrderPlaceObserver
plugin
Posizione :
- \Foo\Bar\Plugin
Nome :
- *.php
- *Plugin.php
Esempi :
- \Magento\Catalog\Plugin\Block\Topmenu
- \Magento\PageCache\Model\App\FrontController\BuiltinPlugin
Fonte : http://devdocs.magento.com/guides/v2.0/extension-dev-guide/plugins.html#declaring-a-plugin
ConfigProvider
Posizione :
- \Foo\Bar\Model
Nome :
- *ConfigProvider.php
Esempi :
- \Magento\Tax\Model\TaxConfigProvider
-\Magento\Payment\Model\IframeConfigProvider
Le mie domande sono:
- Se ci sono
good
/bad
/best
pratiche per questo inMagento 2
? - Se voglio creare un'abitudine,
DataProvider
ad esempio, quale sarà?\Foo\Bar\Provider\CustomDataProvider
\Foo\Bar\DataProvider\Custom
\Foo\Bar\Model\Provider\CustomDataProvider
\Foo\Bar\Helper\Provider\CustomDataProvider
- Come determinare la costruzione del nome e della posizione della classe, una cartella nella radice del modulo, in Modello, in Helper, ecc.?
- Dipende dall'origine / tipo di dati recuperati?
- Quando dobbiamo aggiungere il suffisso al nome della classe?
Una parte di una risposta per
Virtual Types
: https://community.magento.com/t5/Magento-DevBlog/Virtual-Types-Naming-Convention/ba-p/61510