Funzione register_tick_function

La funzione register_tick_function permette di registrare una funzione, che verrà chiamata ad ogni tick di esecuzione dello script. Il primo parametro accetta il nome della funzione o una funzione anonima, i parametri successivi - gli argomenti per la funzione passata. Per il funzionamento della funzione è necessario attivare i tick con declare(ticks=N), dove N - il numero di tick tra le chiamate.

Sintassi

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

Esempio

Semplice esempio di registrazione di una funzione per l'esecuzione ad ogni tick:

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

Risultato dell'esecuzione del codice:

phpTick eseguito
Tick eseguito
Tick eseguito
Tick eseguito

Esempio

Utilizzo di una funzione anonima con parametri:

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

Risultato dell'esecuzione del codice:

phpTick!
Tick!

Esempio

Annullamento della registrazione della funzione con unregister_tick_function:

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

Risultato dell'esecuzione del codice:

php14:25:03
14:25:03

Vedi anche