在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