Funktionen register_tick_function

Funktionen register_tick_function giver mulighed for at registrere en funktion, som vil blive kaldt på hver tick under udførelsen af scriptet. Den tager funktionens navn eller en anonym funktion som første parameter, de efterfølgende parametre - argumenter til den overførte funktion. For at funktionen skal virke, er det nødvendigt at aktivere ticks ved hjælp af declare(ticks=N), hvor N er antallet af ticks mellem kald.

Syntaks

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

Eksempel

Et simpelt eksempel på registrering af en funktion til udførelse på hver tick:

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

Resultat af kodeudførelse:

phpTick udført
Tick udført
Tick udført
Tick udført

Eksempel

Brug af anonym funktion med parametre:

php<?php
  declare(ticks=2);
  
  register_tick_function(function($msg) {
    echo $msg . "\n";
  }, "Tick!");
  
  for ($i = 0; $i < 5; $i++) {
    // Noget kode
  }
?>

Resultat af kodeudførelse:

phpTick!
Tick!

Eksempel

Annullering af funktionsregistrering med unregister_tick_function:

php<?php
  declare(ticks=1);
  
  function tick_log() {
    echo date('H:i:s') . "\n";
  }
  
  register_tick_function('tick_log');
  
  // Første del af koden
  $a = 10;
  $b = 20;
  
  unregister_tick_function('tick_log');
  
  // Anden del af koden
  $c = $a + $b;
?>

Resultat af kodeudførelse:

php14:25:03
14:25:03

Se også