Функция register_tick_function
Функцията register_tick_function позволява регистрирането на функция,
която ще бъде извиквана на всеки тик от изпълнението на скрипта. Първият параметър
приема името на функцията или анонимна функция, а следващите параметри - аргументи
за предаваната функция. За работата на функцията е необходимо да се включат тиковете чрез
declare(ticks=N), където N е броят тикове между извикванията.
Синтаксис
register_tick_function(callable $function, mixed ...$args);
Пример
Прост пример за регистриране на функция за изпълнение на всеки тик:
<?php
declare(ticks=1);
function tick_handler() {
echo "Tick executed\n";
}
register_tick_function('tick_handler');
$a = 1;
$b = 2;
$c = $a + $b;
?>
Резултат от изпълнението на кода:
Tick executed
Tick executed
Tick executed
Tick executed
Пример
Използване на анонимна функция с параметри:
<?php
declare(ticks=2);
register_tick_function(function($msg) {
echo $msg . "\n";
}, "Tick!");
for ($i = 0; $i < 5; $i++) {
// Някакъв код
}
?>
Резултат от изпълнението на кода:
Tick!
Tick!
Пример
Отмяна на регистрацията на функция с unregister_tick_function:
<?php
declare(ticks=1);
function tick_log() {
echo date('H:i:s') . "\n";
}
register_tick_function('tick_log');
// Първа част от кода
$a = 10;
$b = 20;
unregister_tick_function('tick_log');
// Втора част от кода
$c = $a + $b;
?>
Резултат от изпълнението на кода:
14:25:03
14:25:03
Вижте също
-
функцията
unregister_tick_function,
която отменя регистрацията на функция за изпълнение на тикове