Некоторое время мне нужно использовать функцию выключения. Вот глупый пример:
...
drupal_register_shutdown_function('display_message');
...
функция display_message() {
Drupal::messenger()->addMessage('Привет, мир');
}
Можно ли вывести это сообщение на данный момент, оно не работает (даже при следующем обновлении страницы)?
По просьбе я объясню, почему мне нужно использовать функцию выключения.
Мой вариант использования:
Мы находимся в крюке presave узел А
который только что получил новый пользовательский статус (который необходимо сохранить), скажем, статус 5.
Когда этот тип узла достигает статуса 5, мне нужно сохранить/обновить другой узел Б
который содержит ссылку на узел A.
В крюке presave узел Б
, расчеты производятся с использованием значения этого статуса... это означает статус узел А
должны быть сохранены перед началом вычислений.
Вот почему я откладываю сохранение узел Б
с функцией выключения, но все сообщения конечного пользователя не отображаются.
Вы можете возразить, что в хуке presave узел А
, я могу вызвать функцию со статусом и узел А
как параметр, который будет выполнять работу; но есть много обменов / ссылок, подобных этому, и, чтобы избежать спагетти-кода, я поместил весь код своей бизнес-модели в функции предварительного сохранения этих двух типов узлов.