Di Magento 1
kami terbiasa menempatkan kelas kami di direktori ini
- Blok
- Pembantu
- Model
- Sumber
dan menggunakan nama kelas sederhana tanpa huruf kapital di tengah nama.
Jika kita melihat beberapa kasus di Magento 2 Core
Pembantu
Lokasi :
- \Foo\Bar\Helper
Nama :
- *.php
Contoh :
- \Magento\ImportExport\Helper\Report
-\Magento\Cms\Helper\Wysiwyg\Images
Pengamat
Lokasi :
- \Foo\Bar\Observer
Nama :
- *.php
- *Observer.php
Contoh :
- \Magento\CustomerCustomAttributes\Observer\SalesOrderAddressAfterLoad
-\Magento\CustomerBalance\Observer\ProcessBeforeOrderPlaceObserver
Plugin
Lokasi :
- \Foo\Bar\Plugin
Nama :
- *.php
- *Plugin.php
Contoh :
- \Magento\Catalog\Plugin\Block\Topmenu
- \Magento\PageCache\Model\App\FrontController\BuiltinPlugin
Sumber : http://devdocs.magento.com/guides/v2.0/extension-dev-guide/plugins.html#declaring-a-plugin
ConfigProvider
Lokasi :
- \Foo\Bar\Model
Nama :
- *ConfigProvider.php
Contoh :
- \Magento\Tax\Model\TaxConfigProvider
-\Magento\Payment\Model\IframeConfigProvider
Pertanyaan saya adalah:
- Jika ada
good
/bad
/best
praktik untuk itu di dalamMagento 2
? - Jika saya ingin membuat custom
DataProvider
misalnya apakah itu?\Foo\Bar\Provider\CustomDataProvider
\Foo\Bar\DataProvider\Custom
\Foo\Bar\Model\Provider\CustomDataProvider
\Foo\Bar\Helper\Provider\CustomDataProvider
- Bagaimana menentukan konstruksi nama kelas dan lokasi, folder di akar modul, di Model, di Helper, dll?
- Apakah itu tergantung pada sumber data yang diambil / tipe data?
- Kapan kita harus menambahkan akhiran ke nama kelas?
Bagian dari respons untuk
Virtual Types
: https://community.magento.com/t5/Magento-DevBlog/Virtual-Types-Naming-Convention/ba-p/61510