This page is a compilation of frequently asked coding questions by the Magento Community.
What do I need to know to work with the framework?
- SOLID principles - The essential principles needed to create maintainable and extendable code.
- PHP - This is the programming language used for developing Magento 2 code.
- Architecture basics overview - Developers should be familiar with the architectural concepts used in Magento such as the Model-View-Controller pattern and the Command Query Responsibility Segregation principle.
- Dependency Injection - An important design pattern used in Magento to handle dependencies across classes and modules.
In Magento 2, how can my extension distinguish between the Magento Open Source and the Magento Commerce?
The correct edition can be obtained through
In Magento Open Source that interface maps to the concrete implementation
However, in Magento Commerce, the Commerce module will override that mapping and the interface will be implemented by
Just relying on the interface through dependency injection will get you the right class, and calling “getEdition” will return the right answer.