register_tick_function

(PHP 4 >= 4.0.3, PHP 5)

register_tick_function --  Register a function for execution on each tick

Description

bool register_tick_function ( callback function [, mixed arg [, mixed ...]] )

Registers the function named by func to be executed when a tick is called. Also, you may pass an array consisting of an object and a method as the func.

例子 1. register_tick_function() example

<?php
// using a function as the callback
register_tick_function('my_function', true);

// using an object->method
$object = new my_class();
register_tick_function(array(&$object, 'my_method'), true);
?>

See also declare() and unregister_tick_function().


add a note add a note User Contributed Notes
Michael Bailey (jinxidoru at byu dot net)
08-Jun-2004 04:16
Here's a nice function if you want to check how often your functions are getting called to make sure there aren't any useless files being included.  Just place the first script at the top of the beginning of your script (possibly using auto_prepend_file) and the second script at the end of your script (possibly using auto_append_file).

Script #1:
<?
function &watch_functions_tick($do_tick=true) {
   static
$funcs = array();
   static
$last_func;
  
   if (
$do_tick) {
      
$trace = debug_backtrace();
      
$func = $trace[1]['function'];
       if (
$trace[1]['class']) $func = $trace[1]['class'].$trace[1]['type'].$func;

       if (
$func != $last_func && $func !== 'watch_functions_tick' && $func != 'unknown' && $func) {
          
$funcs[$func]++;
          
$last_func = $func;
       } elseif (!
$func || $func = 'unknown') {
          
$last_func = '';
       }
      
$funcs['__TICK_COUNT__']++;
   } else {
       return
$funcs;
   }
}
declare (
ticks=1);
?>

Script #2:
<?
print_r
(watch_functions_tick(false));
?>

-- Michael Bailey (http://www.jinxidoru.com)
microcamers_NOSPAM at hotmail dot com
28-Feb-2004 12:31
If your script will be used on Windows sytems running Apache, its best to stay away from this function... and for portability purposes, try and use a different function.

In most cases it will crash apache continually until the page is stopped from loading.