loadObservers(); $this->loadListeners(); // Example //$this->exampleNormalEvents(); //$this->exampleListenerEvents(); } public function loadObservers() {} public function loadListeners() { foreach($this->listen as $event => $listeners_class){ foreach($listeners_class as $listener_class) evavel_listen($event, $listener_class); } } /* public function exampleListenerEvents() { evavel_listen(EventBookingStatusChanged::class, BookingStatusListener::class); evavel_event(new EventBookingStatusChanged(Booking::first(),BookingStatus::PENDING, BookingStatus::CONFIRMED)); } public function exampleNormalEvents() { // Example how to use it evavel_make('events')->listen('kkk', function($name1, $name2) { return 'closure: '.$name1 . ','. $name2; }); evavel_make('events')->listen('kkk', [ExampleListener::class, 'handle']); evavel_make('events')->listen('kkk', ExampleListener::class.'@handle'); evavel_listen('kkk', ExampleListener::class.'@handle'); $result = evavel_make('events')->dispatch('kkk', ['ALEJANDRO', 'BRUNO']); ray($result); $result = evavel_event('kkk', ['EVA', 'LEON']); ray($result); // Call array as function //ray([new ExampleListener(), 'handle']('PEPE','JOSE')); }*/ }