一、magento2 观察者模式介绍
mageno2在很多地方使用了观察者模式,方便解耦和扩展 ,典型的有在注册成功后会发布customer_register_success事件
在customer/controller/account/CreatePost文件可以查看到
$this->_eventManager->dispatch(
'customer_register_success',
['account_controller' => $this, 'customer' => $customer]
);
在这里发布了一个事假,监听的话在自己的模块etc/文件下新建一个event.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="customer_register_success">
<observer name="coupondispatch" instance="Superkind\Coupon\Observer\CouponDispatchObserver" />
</event>
</config>
然后在自己模块目录新建Observer文件 新建一个上图instance的文件
文件要继承ObserverInterface接口实现execute方法,简易例子如下
use Magento\Framework\Event\ObserverInterface;
class CouponDispatchObserver implements ObserverInterface
public function execute(\Magento\Framework\Event\Observer $observer){
$customer=$observer->getData('customer');
后面就可以在这个方法里面添加自己要添加的功能