register_tick_function funksiýasy
register_tick_function funksiýasy skripti ýerine ýetirmegiň her bir tiginde çagyrylar funksiýany hasaba almaga mümkinçilik berýär. Birinji parametr hökmünde funksiýanyň adyny ýa-da anonim funksiýany kabul edýär, soňky parametrler bolsa berilýän funksiýa üçin argumentlerdir. Funksiýanyň işlemegi üçin declare(ticks=N) ulanyp, tigleri açmaly, bu ýerde N - çagyryşlar arasyndaky tikleriň sany.
Sintaksis
register_tick_function(callable $function, mixed ...$args);
Mysal
Her bir tik üçin ýerine ýetirilýän funksiýany hasaba almagyň ýönekeý mysaly:
<?php
declare(ticks=1);
function tick_handler() {
echo "Tick ýerine ýetirildi\n";
}
register_tick_function('tick_handler');
$a = 1;
$b = 2;
$c = $a + $b;
?>
Kodyň ýerine ýetiriliş netijesi:
Tick ýerine ýetirildi
Tick ýerine ýetirildi
Tick ýerine ýetirildi
Tick ýerine ýetirildi
Mysal
Parametrler bilen anonim funksiýany ulanmak:
<?php
declare(ticks=2);
register_tick_function(function($msg) {
echo $msg . "\n";
}, "Tick!");
for ($i = 0; $i < 5; $i++) {
// Käbir kod
}
?>
Kodyň ýerine ýetiriliş netijesi:
Tick!
Tick!
Mysal
unregister_tick_function arkaly funksiýanyň hasabyny aýyrmak:
<?php
declare(ticks=1);
function tick_log() {
echo date('H:i:s') . "\n";
}
register_tick_function('tick_log');
// Kod böleginiň birinjisi
$a = 10;
$b = 20;
unregister_tick_function('tick_log');
// Kod böleginiň ikinjisi
$c = $a + $b;
?>
Kodyň ýerine ýetiriliş netijesi:
14:25:03
14:25:03
Şeýle-de görüň
-
unregister_tick_functionfunksiýasyny,
tigler üçin ýerine ýetirilýän funksiýanyň hasabyny aýyrýar