에서 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
- 클래스 이름 및 위치의 구성, 모듈 루트의 폴더, 모델, 도우미 등의 구성을 결정하는 방법은 무엇입니까?
- 검색된 데이터 소스 / 데이터 유형에 따라 달라 집니까?
- 클래스 이름에 접미사를 언제 추가해야합니까?
에 대한 응답의 일부
Virtual Types
: https://community.magento.com/t5/Magento-DevBlog/Virtual-Types-Naming-Convention/ba-p/61510