Observer
Naveen Kumar Ganji

What is an Observer?

Observers are some type of classes that includes the general Behavior, Performance or to change business logic Model.

For creating an observer file, you must have class file into your module /Observer directory. Observer class should implement like this Magento\Framework\Event\Observer Interface and will define it’s execute function.

Observers are executed whenever the event they are configured to watch dispatched by event manager.

With observers we can trig the events which were created by Magento or any other third party modules. To create an observer we need event name and the scope.

Event name: Name of event you want to observe, example: sales_order_place_after

Scope: To know for which scope the observer is active.

Observer is always in active.

Observers are very useful in Magento.

Little bit code points and that allows the developer to hook in to allowing some other custom logic to be performed in line with current program flow.

What are Events and Observers ?

Events are breakpoints inserted in PHP classes that look for other classes that are listening for that interruption.

The events exist in strategic places, for example, when finalizing an order, or when registering a new customer.

The Observers on the other hand are classes that observe these events and receive parameters passed by the events.

For example, in Magento 2 you might have something like;

<?xml version="1.0"?>
    <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
        <event name="sales_order_place_after">
            <observer name="[observer_name]" instance="[Vendor]\[ModuleName]\Observer\[ObserverName]">
        </event>
</config>
          

In the above code below are the explanation

name = Unique observer name

instance = Full class name of the observer

All Magento Observers :

  • admin_roles_delete_after
  • admin_roles_delete_before
  • admin_roles_delete_commit_after
  • admin_roles_load_after
  • admin_roles_load_before
  • admin_roles_save_after
  • admin_roles_save_before
  • admin_roles_save_commit_after
  • admin_user_delete_after
  • admin_user_delete_before
  • admin_user_delete_commit_after
  • admin_user_load_after
  • admin_user_load_before
  • admin_user_save_after
  • admin_user_save_before
  • admin_user_save_commit_after
  • adminhtml_system_config_backend_cookie_delete_after
  • adminhtml_system_config_backend_cookie_delete_before
  • adminhtml_system_config_backend_cookie_delete_commit_after
  • adminhtml_system_config_backend_cookie_load_after
  • adminhtml_system_config_backend_cookie_load_before
  • adminhtml_system_config_backend_cookie_save_after
  • adminhtml_system_config_backend_cookie_save_before
  • adminhtml_system_config_backend_cookie_save_commit_after
  • api_user_delete_after
  • api_user_delete_before
  • api_user_delete_commit_after
  • api_user_load_after
  • api_user_load_before
  • api_user_save_after
  • api_user_save_before
  • api_user_save_commit_after
  • catalog_compare_item_delete_after
  • catalog_compare_item_delete_before
  • catalog_compare_item_delete_commit_after
  • catalog_compare_item_load_after
  • catalog_compare_item_load_before
  • catalog_compare_item_save_after
  • catalog_compare_item_save_before
  • catalog_compare_item_save_commit_after
  • catalog_entity_attribute_delete_after
  • catalog_entity_attribute_delete_before
  • catalog_entity_attribute_delete_commit_after
  • catalog_entity_attribute_load_after
  • catalog_entity_attribute_load_before
  • catalog_entity_attribute_save_after
  • catalog_entity_attribute_save_before
  • catalog_entity_attribute_save_commit_after
  • catalog_product_import_delete_after
  • catalog_product_import_delete_before
  • catalog_product_import_delete_commit_after
  • catalog_product_import_load_after
  • catalog_product_import_load_before
  • catalog_product_import_save_after
  • catalog_product_import_save_before
  • catalog_product_import_save_commit_after
  • cataloginventory_stock_item_delete_after
  • cataloginventory_stock_item_delete_before
  • cataloginventory_stock_item_delete_commit_after
  • cataloginventory_stock_item_load_after
  • cataloginventory_stock_item_load_before
  • cataloginventory_stock_item_save_after
  • cataloginventory_stock_item_save_before
  • cataloginventory_stock_item_save_commit_after
  • catalogrule_rule_delete_after
  • catalogrule_rule_delete_before
  • catalogrule_rule_delete_commit_after
  • catalogrule_rule_load_after
  • catalogrule_rule_load_before
  • catalogrule_rule_save_after
  • catalogrule_rule_save_before
  • catalogrule_rule_save_commit_after
  • catalogsearch_query_delete_after
  • catalogsearch_query_delete_before
  • catalogsearch_query_delete_commit_after
  • catalogsearch_query_load_after
  • catalogsearch_query_load_before
  • catalogsearch_query_save_after
  • catalogsearch_query_save_before
  • catalogsearch_query_save_commit_after
  • cms_page_delete_after
  • cms_page_delete_before
  • cms_page_delete_commit_after
  • cms_page_load_after
  • cms_page_load_before
  • cms_page_save_after
  • cms_page_save_before
  • cms_page_save_commit_after
  • core_abstract_delete_after
  • core_abstract_delete_before
  • core_abstract_delete_commit_after
  • core_abstract_load_after
  • core_abstract_load_before
  • core_abstract_save_after
  • core_abstract_save_before
  • core_abstract_save_commit_after
  • core_config_backend_design_exception_delete_after
  • core_config_backend_design_exception_delete_before
  • core_config_backend_design_exception_delete_commit_after
  • core_config_backend_design_exception_load_after
  • core_config_backend_design_exception_load_before
  • core_config_backend_design_exception_save_after
  • core_config_backend_design_exception_save_before
  • core_config_backend_design_exception_save_commit_after
  • core_config_data_delete_after
  • core_config_data_delete_before
  • core_config_data_delete_commit_after
  • core_config_data_load_after
  • core_config_data_load_before
  • core_config_data_save_after
  • core_config_data_save_before
  • core_config_data_save_commit_after
  • core_file_storage_database_delete_after
  • core_file_storage_database_delete_before
  • core_file_storage_database_delete_commit_after
  • core_file_storage_database_load_after
  • core_file_storage_database_load_before
  • core_file_storage_database_save_after
  • core_file_storage_database_save_before
  • core_file_storage_database_save_commit_after
  • core_file_storage_delete_after
  • core_file_storage_delete_before
  • core_file_storage_delete_commit_after
  • core_file_storage_directory_database_delete_after
  • core_file_storage_directory_database_delete_before
  • core_file_storage_directory_database_delete_commit_after
  • core_file_storage_directory_database_load_after
  • core_file_storage_directory_database_load_before
  • core_file_storage_directory_database_save_after
  • core_file_storage_directory_database_save_before
  • core_file_storage_directory_database_save_commit_after
  • core_file_storage_file_delete_after
  • core_file_storage_file_delete_before
  • core_file_storage_file_delete_commit_after
  • core_file_storage_file_load_after
  • core_file_storage_file_load_before
  • core_file_storage_file_save_after
  • core_file_storage_file_save_before
  • core_file_storage_file_save_commit_after
  • core_file_storage_load_after
  • core_file_storage_load_before
  • core_file_storage_save_after
  • core_file_storage_save_before
  • core_file_storage_save_commit_after
  • customer_address_delete_after
  • customer_address_delete_before
  • customer_address_delete_commit_after
  • customer_address_load_after
  • customer_address_load_before
  • customer_address_save_after
  • customer_address_save_before
  • customer_address_save_commit_after
  • customer_delete_after
  • customer_delete_before
  • customer_delete_commit_after
  • customer_entity_attribute_delete_after
  • customer_entity_attribute_delete_before
  • customer_entity_attribute_delete_commit_after
  • customer_entity_attribute_load_after
  • customer_entity_attribute_load_before
  • customer_entity_attribute_save_after
  • customer_entity_attribute_save_before
  • customer_entity_attribute_save_commit_after
  • customer_group_delete_after
  • customer_group_delete_before
  • customer_group_delete_commit_after
  • customer_group_load_after
  • customer_group_load_before
  • customer_group_save_after
  • customer_group_save_before
  • customer_group_save_commit_after
  • customer_load_after
  • customer_load_before
  • customer_save_after
  • customer_save_before
  • customer_save_commit_after
  • eav_entity_attribute_set_delete_after
  • eav_entity_attribute_set_delete_before
  • eav_entity_attribute_set_delete_commit_after
  • eav_entity_attribute_set_load_after
  • eav_entity_attribute_set_load_before
  • eav_entity_attribute_set_save_after
  • eav_entity_attribute_set_save_before
  • eav_entity_attribute_set_save_commit_after
  • eav_form_element_delete_after
  • eav_form_element_delete_before
  • eav_form_element_delete_commit_after
  • eav_form_element_load_after
  • eav_form_element_load_before
  • eav_form_element_save_after
  • eav_form_element_save_before
  • eav_form_element_save_commit_after
  • eav_form_fieldset_delete_after
  • eav_form_fieldset_delete_before
  • eav_form_fieldset_delete_commit_after
  • eav_form_fieldset_load_after
  • eav_form_fieldset_load_before
  • eav_form_fieldset_save_after
  • eav_form_fieldset_save_before
  • eav_form_fieldset_save_commit_after
  • eav_form_type_delete_after
  • eav_form_type_delete_before
  • eav_form_type_delete_commit_after
  • eav_form_type_load_after
  • eav_form_type_load_before
  • eav_form_type_save_after
  • eav_form_type_save_before
  • eav_form_type_save_commit_after
  • newsletter_subscriber_delete_after
  • newsletter_subscriber_delete_before
  • newsletter_subscriber_delete_commit_after
  • newsletter_subscriber_load_after
  • newsletter_subscriber_load_before
  • newsletter_subscriber_save_after
  • newsletter_subscriber_save_before
  • newsletter_subscriber_save_commit_after
  • paypal_payment_transaction_delete_after
  • paypal_payment_transaction_delete_before
  • paypal_payment_transaction_delete_commit_after
  • paypal_payment_transaction_load_after
  • paypal_payment_transaction_load_before
  • paypal_payment_transaction_save_after
  • paypal_payment_transaction_save_before
  • paypal_payment_transaction_save_commit_after
  • review_delete_after
  • review_delete_before
  • review_delete_commit_after
  • review_load_after
  • review_load_before
  • review_save_after
  • review_save_before
  • review_save_commit_after
  • sales_creditmemo_item_delete_after
  • sales_creditmemo_item_delete_before
  • sales_creditmemo_item_delete_commit_after
  • sales_creditmemo_item_load_after
  • sales_creditmemo_item_load_before
  • sales_creditmemo_item_save_after
  • sales_creditmemo_item_save_before
  • sales_creditmemo_item_save_commit_after
  • sales_invoice_item_delete_after
  • sales_invoice_item_delete_before
  • sales_invoice_item_delete_commit_after
  • sales_invoice_item_load_after
  • sales_invoice_item_load_before
  • sales_invoice_item_save_after
  • sales_invoice_item_save_before
  • sales_invoice_item_save_commit_after
  • sales_order_address_delete_after
  • sales_order_address_delete_before
  • sales_order_address_delete_commit_after
  • sales_order_address_load_after
  • sales_order_address_load_before
  • sales_order_address_save_after
  • sales_order_address_save_before
  • sales_order_address_save_commit_after
  • sales_order_creditmemo_delete_after
  • sales_order_creditmemo_delete_before
  • sales_order_creditmemo_delete_commit_after
  • sales_order_creditmemo_load_after
  • sales_order_creditmemo_load_before
  • sales_order_creditmemo_save_after
  • sales_order_creditmemo_save_before
  • sales_order_creditmemo_save_commit_after
  • sales_order_delete_after
  • sales_order_delete_before
  • sales_order_delete_commit_after
  • sales_order_invoice_delete_after
  • sales_order_invoice_delete_before
  • sales_order_invoice_delete_commit_after
  • sales_order_invoice_load_after
  • sales_order_invoice_load_before
  • sales_order_invoice_save_after
  • sales_order_invoice_save_before
  • sales_order_invoice_save_commit_after
  • sales_order_item_delete_after
  • sales_order_item_delete_before
  • sales_order_item_delete_commit_after
  • sales_order_item_load_after
  • sales_order_item_load_before
  • sales_order_item_save_after
  • sales_order_item_save_before
  • sales_order_item_save_commit_after
  • sales_order_load_after
  • sales_order_load_before
  • sales_order_payment_delete_after
  • sales_order_payment_delete_before
  • sales_order_payment_delete_commit_after
  • sales_order_payment_load_after
  • sales_order_payment_load_before
  • sales_order_payment_save_after
  • sales_order_payment_save_before
  • sales_order_payment_save_commit_after
  • sales_order_payment_transaction_delete_after
  • sales_order_payment_transaction_delete_before
  • sales_order_payment_transaction_delete_commit_after
  • sales_order_payment_transaction_load_after
  • sales_order_payment_transaction_load_before
  • sales_order_payment_transaction_save_after
  • sales_order_payment_transaction_save_before
  • sales_order_payment_transaction_save_commit_after
  • sales_order_save_after
  • sales_order_save_before
  • sales_order_save_commit_after
  • sales_order_shipment_delete_after
  • sales_order_shipment_delete_before
  • sales_order_shipment_delete_commit_after
  • sales_order_shipment_load_after
  • sales_order_shipment_load_before
  • sales_order_shipment_save_after
  • sales_order_shipment_save_before
  • sales_order_shipment_save_commit_after
  • sales_order_shipment_track_delete_after
  • sales_order_shipment_track_delete_before
  • sales_order_shipment_track_delete_commit_after
  • sales_order_shipment_track_load_after
  • sales_order_shipment_track_load_before
  • sales_order_shipment_track_save_after
  • sales_order_shipment_track_save_before
  • sales_order_shipment_track_save_commit_after
  • sales_order_status_history_delete_after
  • sales_order_status_history_delete_before
  • sales_order_status_history_delete_commit_after
  • sales_order_status_history_load_after
  • sales_order_status_history_load_before
  • sales_order_status_history_save_after
  • sales_order_status_history_save_before
  • sales_order_status_history_save_commit_after
  • sales_quote_address_delete_after
  • sales_quote_address_delete_before
  • sales_quote_address_delete_commit_after
  • sales_quote_address_load_after
  • sales_quote_address_load_before
  • sales_quote_address_save_after
  • sales_quote_address_save_before
  • sales_quote_address_save_commit_after
  • sales_quote_delete_after
  • sales_quote_delete_before
  • sales_quote_delete_commit_after
  • sales_quote_item_delete_after
  • sales_quote_item_delete_before
  • sales_quote_item_delete_commit_after
  • sales_quote_item_load_after
  • sales_quote_item_load_before
  • sales_quote_item_save_after
  • sales_quote_item_save_before
  • sales_quote_item_save_commit_after
  • sales_quote_load_after
  • sales_quote_load_before
  • sales_quote_payment_delete_after
  • sales_quote_payment_delete_before
  • sales_quote_payment_delete_commit_after
  • sales_quote_payment_load_after
  • sales_quote_payment_load_before
  • sales_quote_payment_save_after
  • sales_quote_payment_save_before
  • sales_quote_payment_save_commit_after
  • sales_quote_save_after
  • sales_quote_save_before
  • sales_quote_save_commit_after
  • sales_shipment_item_delete_after
  • sales_shipment_item_delete_before
  • sales_shipment_item_delete_commit_after
  • sales_shipment_item_load_after
  • sales_shipment_item_load_before
  • sales_shipment_item_save_after
  • sales_shipment_item_save_before
  • sales_shipment_item_save_commit_after
  • salesrule_rule_delete_after
  • salesrule_rule_delete_before
  • salesrule_rule_delete_commit_after
  • salesrule_rule_load_after
  • salesrule_rule_load_before
  • salesrule_rule_save_after
  • salesrule_rule_save_before
  • salesrule_rule_save_commit_after
  • store_delete_after
  • store_delete_before
  • store_delete_commit_after
  • store_group_delete_after
  • store_group_delete_before
  • store_group_delete_commit_after
  • store_group_load_after
  • store_group_load_before
  • store_group_save_after
  • store_group_save_before
  • store_group_save_commit_after
  • store_load_after
  • store_load_before
  • store_save_after
  • store_save_before
  • store_save_commit_after
  • system_config_price_scope_delete_after
  • system_config_price_scope_delete_before
  • system_config_price_scope_delete_commit_after
  • system_config_price_scope_load_after
  • system_config_price_scope_load_before
  • system_config_price_scope_save_after
  • system_config_price_scope_save_before
  • system_config_price_scope_save_commit_after
  • tag_delete_after
  • tag_delete_before
  • tag_delete_commit_after
  • tag_load_after
  • tag_load_before
  • tag_save_after
  • tag_save_before
  • tag_save_commit_after
  • website_delete_after
  • website_delete_before
  • website_delete_commit_after
  • website_load_after
  • website_load_before
  • website_save_after
  • website_save_before
  • website_save_commit_after
  • widget_widget_instance_delete_after
  • widget_widget_instance_delete_before
  • widget_widget_instance_delete_commit_after
  • widget_widget_instance_load_after
  • widget_widget_instance_load_before
  • widget_widget_instance_save_after
  • widget_widget_instance_save_before
  • widget_widget_instance_save_commit_after
  • wishlist_delete_after
  • wishlist_delete_before
  • wishlist_delete_commit_after
  • wishlist_item_delete_after
  • wishlist_item_delete_before
  • wishlist_item_delete_commit_after
  • wishlist_item_load_after
  • wishlist_item_load_before
  • wishlist_item_save_after
  • wishlist_item_save_before
  • wishlist_item_save_commit_after
  • wishlist_load_afterwishlist_load_before
  • wishlist_save_after
  • wishlist_save_before
  • wishlist_save_commit_after
Share
Tags
Categories

Naveen Kumar Ganji
Sr. Software Developer
Symphisys
April 20, 2020