Я пытаюсь прослушать обратный вызов afterSave с помощью EventManager
как это:
use Cake\Event\EventManager;
EventManager::instance()->on(
'Model.afterSave', function ($event) {
// do something
}
);
Эта проблема: На локальном это работает, и я могу «сделать что-то», когда модель сохранена, но на сервере это не работает.
Я обнаружил, что на местном EventManager
слушатели связаны. Как вы видете:
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'
}
Но на сервере EventManager
не имеет слушателей:
use Cake\Event\EventManager;
debug(EventManager::instance());
object(Cake\Event\EventManager) {
'_listeners' => [],
'_isGlobal' => true,
'_generalManager' => '(object) EventManager'
}
Почему не работает на сервере? Есть ли что-нибудь связанное с конфигурацией сервера?
Большое спасибо!
Задача ещё не решена.
Других решений пока нет …