Функция 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
,
которая отменяет регистрацию функции для выполнения на тиках