Hi again @phpMagpie,

I've just found two better ways to achieve what you wish.

#1
Override the Model "implementedEvents" method. If you check the CakePHP 
Model class code you see that it already implements CakeEventListener 
class).

/**
 * Returns a list of all events that will fire in the model during it's 
lifecycle.
 * You can override this function to add you own listener callbacks
 *
 * @return array
 */
public function implementedEvents() {
return array(
'Model.beforeFind' => array('callable' => 'beforeFind', 'passParams' => 
true),
'Model.afterFind' => array('callable' => 'afterFind', 'passParams' => true),
'Model.beforeValidate' => array('callable' => 'beforeValidate', 
'passParams' => true),
'Model.afterValidate' => array('callable' => 'afterValidate'),
'Model.beforeSave' => array('callable' => 'beforeSave', 'passParams' => 
true),
'Model.afterSave' => array('callable' => 'afterSave', 'passParams' => true),
'Model.beforeDelete' => array('callable' => 'beforeDelete', 'passParams' => 
true),
'Model.afterDelete' => array('callable' => 'afterDelete'),
);
}

#2
Override the Model "getEventManager" method. If you check CakePHP Model 
class code you see that it also suggest you to use it to register any new 
listener or callbacks to the model events, or create your own events and 
trigger them at will.

/**
 * Returns the CakeEventManager manager instance that is handling any 
callbacks.
 * You can use this instance to register any new listeners or callbacks to 
the
 * model events, or create your own events and trigger them at will.
 *
 * @return CakeEventManager
 */
public function getEventManager() {
if (empty($this->_eventManager)) {
$this->_eventManager = new CakeEventManager();
$this->_eventManager->attach($this->Behaviors);
$this->_eventManager->attach($this);
}
return $this->_eventManager;
}


Thus use them.

In your particular case, you could override the getEventManager for 
creating your attaching the BlogEventListener.

Regards.

References:
- Model getEventManager: 
http://api.cakephp.org/2.3/class-Model.html#_getEventManager

>

-- 
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/cake-php?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to