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

phpregister_tick_function(callable $function, mixed ...$args);

Mysal

Her bir tik üçin ýerine ýetirilýän funksiýany hasaba almagyň ýönekeý mysaly:

php<?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:

phpTick ýerine ýetirildi
Tick ýerine ýetirildi
Tick ýerine ýetirildi
Tick ýerine ýetirildi

Mysal

Parametrler bilen anonim funksiýany ulanmak:

php<?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:

phpTick!
Tick!

Mysal

unregister_tick_function arkaly funksiýanyň hasabyny aýyrmak:

php<?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:

php14:25:03
14:25:03

Şeýle-de görüň