Função register_tick_function
A função register_tick_function permite registrar uma função
que será chamada em cada tick de execução do script. O primeiro parâmetro
aceita o nome da função ou uma função anônima, os parâmetros subsequentes - argumentos
para a função passada. Para a função funcionar, é necessário ativar os ticks usando
declare(ticks=N), onde N - o número de ticks entre as chamadas.
Sintaxe
register_tick_function(callable $function, mixed ...$args);
Exemplo
Exemplo simples de registro de uma função para execução em cada tick:
<?php
declare(ticks=1);
function tick_handler() {
echo "Tick executado\n";
}
register_tick_function('tick_handler');
$a = 1;
$b = 2;
$c = $a + $b;
?>
Resultado da execução do código:
Tick executado
Tick executado
Tick executado
Tick executado
Exemplo
Uso de função anônima com parâmetros:
<?php
declare(ticks=2);
register_tick_function(function($msg) {
echo $msg . "\n";
}, "Tick!");
for ($i = 0; $i < 5; $i++) {
// Algum código
}
?>
Resultado da execução do código:
Tick!
Tick!
Exemplo
Cancelando o registro da função com unregister_tick_function:
<?php
declare(ticks=1);
function tick_log() {
echo date('H:i:s') . "\n";
}
register_tick_function('tick_log');
// Primeira parte do código
$a = 10;
$b = 20;
unregister_tick_function('tick_log');
// Segunda parte do código
$c = $a + $b;
?>
Resultado da execução do código:
14:25:03
14:25:03
Veja também
-
a função
unregister_tick_function,
que cancela o registro da função para execução nos ticks