Funcția register_tick_function
Funcția register_tick_function permite înregistrarea unei funcții,
care va fi apelată la fiecare tick de execuție a scriptului. Primul parametru
primește numele funcției sau o funcție anonimă, parametrii următori - argumente
pentru funcția transmisă. Pentru ca funcția să funcționeze este necesar să fie activate tick-urile cu ajutorul
declare(ticks=N), unde N - numărul de tick-uri între apeluri.
Sintaxă
register_tick_function(callable $function, mixed ...$args);
Exemplu
Un exemplu simplu de înregistrare a unei funcții pentru execuție la fiecare tick:
<?php
declare(ticks=1);
function tick_handler() {
echo "Tick executat\n";
}
register_tick_function('tick_handler');
$a = 1;
$b = 2;
$c = $a + $b;
?>
Rezultatul executării codului:
Tick executat
Tick executat
Tick executat
Tick executat
Exemplu
Utilizarea unei funcții anonime cu parametri:
<?php
declare(ticks=2);
register_tick_function(function($msg) {
echo $msg . "\n";
}, "Tick!");
for ($i = 0; $i < 5; $i++) {
// Un cod oarecare
}
?>
Rezultatul executării codului:
Tick!
Tick!
Exemplu
Anularea înregistrării funcției cu unregister_tick_function:
<?php
declare(ticks=1);
function tick_log() {
echo date('H:i:s') . "\n";
}
register_tick_function('tick_log');
// Prima parte a codului
$a = 10;
$b = 20;
unregister_tick_function('tick_log');
// A doua parte a codului
$c = $a + $b;
?>
Rezultatul executării codului:
14:25:03
14:25:03
Vedeți și
-
funcția
unregister_tick_function,
care anulează înregistrarea funcției pentru execuție la tick-uri