Существует ли эквивалент Symfony register_shutdown_function/destruction для выполнения кода после доставки контента?

Мне нужно, чтобы после того, как пользователю был отправлен ответ, произошли разные вещи, например, как работает функция register_shutdown_function, использованная.

Я играл с sfShutdownPlugin, он просто использует функцию register_shutdown_function, я также рассматривал использование деструктора (только для действия), но Symfony, похоже, это не слишком нравится, и метод postExecute все еще выполняется до содержимого. отправлено.


person Steve    schedule 04.12.2010    source источник


Ответы (1)


Посмотрите, как работает цепочка фильтров — можете ли вы найти точку, в которой ответ был отправлен, но выполнение все еще выполняется? Если это так, вы сможете добавить свой собственный фильтр в цепочку на этом этапе.

Не уверен, что это будет делать то, что вы хотите, хотя - не думайте, что браузер увидит его как завершенный, поэтому счетчик будет продолжать работать, даже если контент загружен и отображается, и не задержит ли он document.ready и т. д.?

Я думаю, что классы sfStorage используют выключение - возможно, стоит посмотреть, что они делают.

person benlumley    schedule 04.12.2010
comment
Справедливости ради, я не уверен, что это стоит моих усилий, если, вероятно, браузер все еще будет думать, что это незавершенное. Я точно помню, что функция register_shutdown_function работала так, возможно, только в PHP4. - person Steve; 04.12.2010
comment
регистрация выключения будет работать так, как вы хотите. не уверен, что использование фильтров Symfony поможет. я думаю, что sfStorage работает правильно, я думаю, что он также использует register_shutdown. - person benlumley; 05.12.2010