Funkcja register_tick_function
Funkcja register_tick_function pozwala zarejestrować funkcję,
która będzie wywoływana na każdym tyku wykonania skryptu. Pierwszym parametrem
przyjmuje nazwę funkcji lub funkcję anonimową, kolejne parametry - argumenty
dla przekazywanej funkcji. Aby funkcja działała, należy włączyć tyki za pomocą
declare(ticks=N), gdzie N - liczba tyków między wywołaniami.
Składnia
register_tick_function(callable $function, mixed ...$args);
Przykład
Prosty przykład rejestracji funkcji do wykonania na każdym tyku:
<?php
declare(ticks=1);
function tick_handler() {
echo "Tick executed\n";
}
register_tick_function('tick_handler');
$a = 1;
$b = 2;
$c = $a + $b;
?>
Wynik wykonania kodu:
Tick executed
Tick executed
Tick executed
Tick executed
Przykład
Użycie funkcji anonimowej z parametrami:
<?php
declare(ticks=2);
register_tick_function(function($msg) {
echo $msg . "\n";
}, "Tick!");
for ($i = 0; $i < 5; $i++) {
// Pewien kod
}
?>
Wynik wykonania kodu:
Tick!
Tick!
Przykład
Anulowanie rejestracji funkcji za pomocą unregister_tick_function:
<?php
declare(ticks=1);
function tick_log() {
echo date('H:i:s') . "\n";
}
register_tick_function('tick_log');
// Pierwsza część kodu
$a = 10;
$b = 20;
unregister_tick_function('tick_log');
// Druga część kodu
$c = $a + $b;
?>
Wynik wykonania kodu:
14:25:03
14:25:03
Zobacz też
-
funkcję
unregister_tick_function,
która anuluje rejestrację funkcji do wykonania na tykach