Функция register_tick_function

La función register_tick_function permite registrar una función que será llamada en cada tick de ejecución del script. El primer parámetro acepta el nombre de la función o una función anónima, los parámetros siguientes - argumentos para la función pasada. Para que la función funcione es necesario activar los ticks mediante declare(ticks=N), donde N - número de ticks entre llamadas.

Sintaxis

phpregister_tick_function(callable $function, mixed ...$args);

Ejemplo

Ejemplo simple de registro de una función para ejecución en cada tick:

php<?php
  declare(ticks=1);
  
  function tick_handler() {
    echo "Tick ejecutado\n";
  }
  
  register_tick_function('tick_handler');
  
  $a = 1;
  $b = 2;
  $c = $a + $b;
?>

Resultado de la ejecución del código:

phpTick ejecutado
Tick ejecutado
Tick ejecutado
Tick ejecutado

Ejemplo

Uso de función anónima con parámetros:

php<?php
  declare(ticks=2);
  
  register_tick_function(function($msg) {
    echo $msg . "\n";
  }, "¡Tick!");
  
  for ($i = 0; $i < 5; $i++) {
    // Algún código
  }
?>

Resultado de la ejecución del código:

php¡Tick!
¡Tick!

Ejemplo

Cancelación del registro de la función con unregister_tick_function:

php<?php
  declare(ticks=1);
  
  function tick_log() {
    echo date('H:i:s') . "\n";
  }
  
  register_tick_function('tick_log');
  
  // Primera parte del código
  $a = 10;
  $b = 20;
  
  unregister_tick_function('tick_log');
  
  // Segunda parte del código
  $c = $a + $b;
?>

Resultado de la ejecución del código:

php14:25:03
14:25:03

Ver también