本文整理匯總了PHP中IContextSource::getTiming方法的典型用法代碼示例。如果您正苦於以下問題:PHP IContextSource::getTiming方法的具體用法?PHP IContextSource::getTiming怎麽用?PHP IContextSource::getTiming使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類IContextSource
的用法示例。
在下文中一共展示了IContextSource::getTiming方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: doPostOutputShutdown
/**
* This function does work that can be done *after* the
* user gets the HTTP response so they don't block on it
*
* This manages deferred updates, job insertion,
* final commit, and the logging of profiling data
*
* @param string $mode Use 'fast' to always skip job running
* @since 1.26
*/
public function doPostOutputShutdown($mode = 'normal')
{
$timing = $this->context->getTiming();
$timing->mark('requestShutdown');
// Show visible profiling data if enabled (which cannot be post-send)
Profiler::instance()->logDataPageOutputOnly();
$callback = function () use($mode) {
try {
$this->restInPeace($mode);
} catch (Exception $e) {
MWExceptionHandler::handleException($e);
}
};
// Defer everything else...
if (function_exists('register_postsend_function')) {
// https://github.com/facebook/hhvm/issues/1230
register_postsend_function($callback);
} else {
if (function_exists('fastcgi_finish_request')) {
fastcgi_finish_request();
} else {
// Either all DB and deferred updates should happen or none.
// The latter should not be cancelled due to client disconnect.
ignore_user_abort(true);
}
$callback();
}
}