У Magento 1
нас звикли розміщувати свої заняття в цих довідниках
- Блок
- Помічник
- Модель
- Ресурс
і використовувати просте ім’я класу без жодної великої літери посередині імені.
Якщо ми розглянемо деякі випадки в Росії Magento 2 Core
Помічники
Розташування :
- \Foo\Bar\Helper
Назва :
- *.php
Приклади :
- \Magento\ImportExport\Helper\Report
-\Magento\Cms\Helper\Wysiwyg\Images
Спостерігачі
Розташування :
- \Foo\Bar\Observer
Назва :
- *.php
- *Observer.php
Приклади :
- \Magento\CustomerCustomAttributes\Observer\SalesOrderAddressAfterLoad
-\Magento\CustomerBalance\Observer\ProcessBeforeOrderPlaceObserver
Плагіни
Місцезнаходження :
- \Foo\Bar\Plugin
Назва :
- *.php
- *Plugin.php
Приклади :
- \Magento\Catalog\Plugin\Block\Topmenu
- \Magento\PageCache\Model\App\FrontController\BuiltinPlugin
Джерело : http://devdocs.magento.com/guides/v2.0/extension-dev-guide/plugins.html#declaring-a-plugin
ConfigProvider
Розташування :
- \Foo\Bar\Model
Назва :
- *ConfigProvider.php
Приклади :
- \Magento\Tax\Model\TaxConfigProvider
-\Magento\Payment\Model\IframeConfigProvider
Мої запитання:
- Якщо є якісь
good
/bad
/best
практики для цього вMagento 2
? - Якщо я хочу створити звичай,
DataProvider
наприклад, яким він буде?\Foo\Bar\Provider\CustomDataProvider
\Foo\Bar\DataProvider\Custom
\Foo\Bar\Model\Provider\CustomDataProvider
\Foo\Bar\Helper\Provider\CustomDataProvider
- Як визначити побудову імені класу та місця розташування, папки в корені модуля, у моделі, в Helper тощо?
- Це залежить від отриманого джерела даних / типу даних?
- Коли нам потрібно додати суфікс до імені класу?
Частина відповіді на адресу
Virtual Types
: https://community.magento.com/t5/Magento-DevBlog/Virtual-Types-Naming-Convention/ba-p/61510