Friday, August 22, 2014

Re: Cakephp3 Events and Listeners

I have read the chapter, but my populateUserPrefs function does not fire.

Is any one able to flesh out the example, or tell me that actually I cannot have a Table Model class implement EventListener?



On Friday, 22 August 2014 04:36:03 UTC+1, Dr. Tarique Sani wrote:
Event listeners are implementations of Cake\Event\EventListener interface

also then you have to attach your event - something like

// Attach the UserStatistic object to the Order's event manager
$statistics = new UserStatistic();
$this->Orders->eventManager()->attach($statistics);


T



On Thu, Aug 21, 2014 at 9:26 PM, Rob Cowie <asbesto...@gmail.com> wrote:
Hi all. I have read the cakephp book on events in version 3, and I cannot seem to get it to work. I am missing a piece of comprehension. 

I have the event dispatch code in a controller:

$event = new Event('Controller.User.login', $this);
$this->eventManager()->dispatch($event);

and I have a model with the following code:

public function implementedEvents() {
    return [
        'Controller.User.login' => 'populateUserPrefs',
    ];
}

public function populateUserPrefs(Event $event, $user){
    Log::write(
        'info',
        'Prefs User Login: '
    );
}

But I am not hitting the populateUserPrefs function. I guess I need to add some code somewhere to register the model as a listener, but I cannot figure out how.


--
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

---
You received this message because you are subscribed to the Google Groups "CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+u...@googlegroups.com.
To post to this group, send email to cake...@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.



--
=============================================================
The Conference Schedule Creator : http://shdlr.com

PHP for E-Biz : http://sanisoft.com
=============================================================

--
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

---
You received this message because you are subscribed to the Google Groups "CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscribe@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.

No comments: