Los observers son ideales cuando necesitas reaccionar a eventos del core, por ejemplo al crear una orden.
Definir evento
Archivo etc/events.xml:
<?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="checkout_submit_all_after"> <observer name="gdw_after_order" instance="GDW\Hello\Observer\AfterOrder"/> </event></config>Crear observer
<?phpnamespace GDW\Hello\Observer;
use Magento\Framework\Event\Observer;use Magento\Framework\Event\ObserverInterface;use Psr\Log\LoggerInterface;
class AfterOrder implements ObserverInterface{ public function __construct(private LoggerInterface $logger) {}
public function execute(Observer $observer) { $order = $observer->getEvent()->getOrder(); $this->logger->info('Nueva orden: ' . $order->getIncrementId()); }}Conclusión
Con observers puedes extender procesos de negocio sin acoplarte a controladores ni plantillas.