Close [x]

Extensibility and modularity

Edit this page on GitHub

Extensibility and modularity

Product extensibility describes how easy it is to expand a product鈥檚 feature set. An extensible product has been designed from its earliest stages for customization and enhancement. Extensible products are designed for ease in expanding your installation鈥檚 feature set, enriching current features, and integrating with third-party software.

Maximizing extensibility has been our goal through all aspects of Magento development. Core tasks such as shipping are packaged as discrete modules, and you expand your features by installing modules that you either buy from third-party vendors or create yourself. While logic specific to each shipping carrier is packaged in a discrete module, you can easily add or delete shipping providers by simply adding or deleting modules. The Magento Framework provides common logic to control routing and other core application functions.

What makes a product extensible?

Magento extensibility describes the product鈥檚 built-in ability for developers and merchants to routinely extend their storefront鈥檚 capabilities as their business grows.

Which factors affect extensibility?

  • architectural principles that guide product structure. Central to the Magento model of software development is the practice of replacing or extending core code rather than editing it. This strategy supports your efforts to maintain the integrity of the tested code we provide while still extensively customizing your storefront.

  • open-source software to create and manage extensions. Magento is built on open-source technologies, built for the development community. It uses Composer, an open-source tool, to manage dependencies. See Technology Stack for a complete list.

  • coding standards. Adherence to standard best practices for PHP and JavaScript code ensures that the code base is sound. Magento has adopted most of the Zend Framework Coding Standards for PHP. See Coding Standards for more information.

  • upgrade and versioning strategies. Magento has well-defined upgrade and versioning strategies that can help you avoid any problems with software component dependencies. Add modules after confirming that the module version is compatible with the Magento Framework version.

Architectural basics

Global product features that support extension development

Ease of frontend customization