"; * } * * * Take a look at the docblock descriptions of each hook to get a sense of where * in the view rendering process the hook is invoked. * * @author ahart */ /** * hook_before_header * * This hook is executed before the contents of the header file are processed. */ function hook_before_header() {} /** * hook_before_view * * This hook is executed before the contents of the main view are processed. */ function hook_before_view() {} /** * hook_before_footer * * This hook is executed before the contents of the footer are processed */ function hook_before_footer() {} /** * hook_before_send * * This hook is after all of the view components (header, view, footer) have been * processed but before the processed results are sent out across the wire to the * browser. HTTP headers have not yet been sent to the browser. */ function hook_before_send() {} /** * hook_after_send * * This hook is after all of the view components (header, view, footer) have been * processed and sent out across the wire to the browser. It can be used for logging * or analytics purposes, or to append a common trailer to all content. */ function hook_after_send() { $timeStart = $GLOBALS['balance_request_start']; $timeEnd = microtime(true); $elapsed = $timeEnd - $timeStart; echo "\r\n"; }