Функсияи 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,
ки сабти функсияро барои иҷро дар тикҳо бекор мекунад