Hello Magento folks,

Magento 2 is the ultimate existence of the leading enterprise for Ecommerce platforms and has been used by over 200,000 online retailers. Basically, Magento 2 offers a wide range of tools which covers all the needs of the retailer including the advanced digital marketing tools.

Why did Decomposition need?

Mainly, in the latest release of Magento 2.4 it became the best chance to progress with all the backwards-incompatible changes that were waiting for years. After the speech of LBajsarowicz spoken at the recent Magento Conferences decided to replace inheritance with composition. The major change was the Pull Request and its followup which was introduced by Vinai Kopp.

There is a major architectural change done in decomposition of controllers by Lena Orobei and vinai Kopp. Both have started delivering by continuous support of each other and a great encouragement of LBajsarowicz.

Decomposition of Magento Controllers All You Need to Know

To implement new Controller Action



No need to extend

For creating a fully functional action controller now there is no need of extending from class.

Example controller GET Action

Everyone shall have noticed that here they have used \Magento\Framework\App\Action\HttpGetActionInterface. It is a method-specific Interface extending ActionInterface. If you want to explicitly define what methods are going to be handled by the Controller, the most common interfaces are:





Please be aware that the HEAD method is handled the same way that GET is.

Note: Changes to Magento core are fully backwards-compatible, so you still have time to migrate from Inheritance to Composition.


Hence, by going through the above article you may get all the rich and valuable information regarding the Decomposition of Magento Controllers provided by Magento 2.

Happy Reading?

Click to rate this post!
[Total: 7 Average: 4.7]