You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
class SampleListener implements \Eccube\EventDispatcher\EventSubscriberInterface
{
public function onRequest(\Eccube\EventDispatcher\Event $event)
{
// dump($event);
// exit;
}
Symfony\Component\EventDispatcher\EventDispatcher
以下のようにdecorateし、Symfony\EventDispatcherの実装を差し替える
#36
呼び出し側はEccube\EventDispatcherのアダプタ経由でdispatchを呼び出す
拡張側は、Eccube\EventDispatcher\EventSubscriberInterfaceをimplementする
Symfony\Component\EventDispatcher\EventDispatcherInterface
アダプタを作成
Symfony\Component\EventDispatcher\EventSubscriberInterface
EventSubscriberInterfaceを継承したEccubeEventSubscriberInterfaceを作成
RegisterListenersPassでEventSubscriberInterfaceのチェックをしてるので一旦インターフェースの継承で。
https://github.com/symfony/event-dispatcher/blob/6.2/DependencyInjection/RegisterListenersPass.php#L124
KernelEventsの隠蔽も必要
プラグインでも利用しているイベントを洗い出して、イベントごとにEventListenerを用意してもいいかも。
Syfonyイベント
プラグインでの使用イベント
The text was updated successfully, but these errors were encountered: