Fonction register_tick_function
La fonction register_tick_function permet d'enregistrer une fonction
qui sera appelée à chaque tick d'exécution du script. Son premier paramètre
accepte le nom d'une fonction ou une fonction anonyme, les paramètres suivants sont les arguments
à passer à la fonction. Pour que la fonction fonctionne, il faut activer les ticks à l'aide de
declare(ticks=N), où N est le nombre de ticks entre les appels.
Syntaxe
register_tick_function(callable $function, mixed ...$args);
Exemple
Un exemple simple d'enregistrement d'une fonction pour exécution à chaque tick :
<?php
declare(ticks=1);
function tick_handler() {
echo "Tick executed\n";
}
register_tick_function('tick_handler');
$a = 1;
$b = 2;
$c = $a + $b;
?>
Résultat de l'exécution du code :
Tick executed
Tick executed
Tick executed
Tick executed
Exemple
Utilisation d'une fonction anonyme avec des paramètres :
<?php
declare(ticks=2);
register_tick_function(function($msg) {
echo $msg . "\n";
}, "Tick!");
for ($i = 0; $i < 5; $i++) {
// Du code
}
?>
Résultat de l'exécution du code :
Tick!
Tick!
Exemple
Annulation de l'enregistrement d'une fonction avec unregister_tick_function :
<?php
declare(ticks=1);
function tick_log() {
echo date('H:i:s') . "\n";
}
register_tick_function('tick_log');
// Première partie du code
$a = 10;
$b = 20;
unregister_tick_function('tick_log');
// Seconde partie du code
$c = $a + $b;
?>
Résultat de l'exécution du code :
14:25:03
14:25:03
Voir aussi
-
la fonction
unregister_tick_function,
qui annule l'enregistrement d'une fonction pour exécution sur les ticks