How to Create Observer in Magento 2?
-
Nidhi Arora
- 8 years

Creating an observer in Magento 2 is a bit different from Magento 1.x version. In Magento 2, an observer can be originated from the events.xml file under etc directory.
Let’s have a closer look on how to create observer in Magento 2:
1. The very first step is to define observer in the file:
<?xml version="1.0"?> <config> <event name="controller_action_catalog_product_save_entity_after"> <observer name="Envision_Eecom_Product_Save_Later" instance="Envision\Eecom\Observer\productSaveLater" /> </event> </config>
Note: Different places are required to make files for different handlers.
• Make file under: app/code/ Envision/Eecom/etc/frontend/event.xml for frontend observer.
• Make file under: app/code/Envision/Eecom/etc/adminhtml/event.xml for frontend observer.
• Generate file under: app/code/Envision/Eecom/etc/event.xml for having observer at both ends.
2. Now, create your observer file in the following path: after
app/code/Envision/Eecom/Observer/productSaveLater.php
<?php namespace Envision\Eecom\Observer; use Magento\Framework\Event\ObserverInterface; class productSaveLater implements ObserverInterface { /** * @var ObjectManagerInterface */ protected $_objectManager; /** * @param \Magento\Framework\ObjectManagerInterface $objectManager */ public function __construct( \Magento\Framework\ObjectManagerInterface $objectManager ) { $this->_objectManager = $objectManager; } /** * customer register event handler * * @param \Magento\Framework\Event\Observer $observer * @return void */ public function execute(\Magento\Framework\Event\Observer $observer) { //Do your stuff here! die('Envision Observer Is Here!'); } }
Now, if you still have any query regarding Magento 2 observers, leave it in the comment section below.
Download Blog