class My_Logger_Model_Observer { public function logControllerAction($observer) { $controllerAction = $observer->getControllerAction(); Mage::log('Controller Action: ' . $controllerAction->getRequest()->getActionName(), null, 'controller.log'); } } // Register the observer during the application initialization $observer = Mage::getModel('my_logger/observer'); Mage::getSingleton('controller_front')->addObserver('my_logger_observer', 'controller_action_predispatch', 'my_logger/observer::logControllerAction');
class My_Auth_Model_Observer { public function authenticateUser($observer) { $controllerAction = $observer->getControllerAction(); $user = Mage::getSingleton('customer/session')->getCustomer(); if (!$user || !$user->getId()) { $controllerAction->setFlag('', Mage_Core_Controller_Varien_Action::FLAG_NO_DISPATCH, true); $controllerAction->getResponse()->setRedirect(Mage::getUrl('customer/account/login')); } } } // Register the observer during the application initialization $observer = Mage::getModel('my_auth/observer'); Mage::getSingleton('controller_front')->addObserver('my_auth_observer', 'controller_action_predispatch_customer_account_editPost', 'my_auth/observer::authenticateUser');From the examples above, we can see that the `Varien_Event_Observer` class is a part of the Magento framework's core library.