ใน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
- วิธีตรวจสอบการสร้างชื่อคลาสและตำแหน่ง, โฟลเดอร์ที่รูทของโมดูล, ใน Model, ใน Helper, etc?
- มันขึ้นอยู่กับแหล่งข้อมูล / ประเภทข้อมูลที่ดึงมาได้หรือไม่?
- เราต้องเพิ่มคำต่อท้ายให้กับชื่อคลาสเมื่อใด
ส่วนหนึ่งของการตอบกลับสำหรับ
Virtual Types
: https://community.magento.com/t5/Magento-DevBlog/Virtual-Types-Naming-Convention/ba-p/61510