Magento 2.1.18 is the final 2.1.x release. After June 2019, Magento 2.1.x will no longer receive security patches, quality fixes, or documentation updates.
To maintain your site's performance, security, and PCI compliance, upgrade to the latest version of Magento.

Coding FAQ

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?

In Magento 2, how can my extension distinguish between the Magento Open Source and the Magento Commerce?

The correct edition can be obtained through \Magento\Framework\App\ProductMetadataInterface::getEdition.

In Magento Open Source that interface maps to the concrete implementation Magento\Framework\AppInterface\ProductMetadata. However, in Magento Commerce, the Commerce module will override that mapping and the interface will be implemented by \Magento\Enterprise\Model\ProductMetadata.

Just relying on the interface through dependency injection will get you the right class, and calling “getEdition” will return the right answer.

How do I configure my module so that it appears in a specific place on the Admin?

Use the <Module Directory>/etc/adminhtml/menu.xml file to configure from where on the Admin your extension is accessible.

Updated