I'm trying to listen to "afterSave" callback using EventManager
like this:
use Cake\Event\EventManager;
EventManager::instance()->on(
'Model.afterSave', function ($event) {
// do something
}
);
The problem: On local it works, and I can "do something" when a Model is saved, but on server it doesn't work.
What I found is that on local EventManager
has listeners associated. As you can see:
use Cake\Event\EventManager;
debug(EventManager::instance());
object(Cake\Event\EventManager) {
'_listeners' => [
'Controller.shutdown' => '3 listener(s)',
'Controller.initialize' => '2 listener(s)',
'Controller.startup' => '2 listener(s)',
'Controller.beforeRender' => '2 listener(s)',
'View.beforeRender' => '2 listener(s)',
'View.afterRender' => '2 listener(s)',
'View.beforeLayout' => '2 listener(s)',
'View.afterLayout' => '2 listener(s)',
'View.beforeRenderFile' => '1 listener(s)',
'View.afterRenderFile' => '1 listener(s)',
'Model.afterSave' => '1 listener(s)'
],
'_isGlobal' => true,
'_generalManager' => '(object) EventManager'
}
But on server EventManager
has no listeners:
use Cake\Event\EventManager;
debug(EventManager::instance());
object(Cake\Event\EventManager) {
'_listeners' => [],
'_isGlobal' => true,
'_generalManager' => '(object) EventManager'
}
Why isn't working on server? Does it have anything related with the server configuration?
Many thanks!