Funkcija register_tick_function

Funkcija register_tick_function omogućava registraciju funkcije, koja će se pozivati na svakom tiku izvršavanja skripta. Prvi parametar prihvata ime funkcije ili anonimnu funkciju, sledeći parametri - argumenti za prosleđenu funkciju. Za rad funkcije neophodno je uključiti tikove pomoću declare(ticks=N), gde je N - broj tikova između poziva.

Sintaksa

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

Primer

Jednostavan primer registracije funkcije za izvršavanje na svakom tiku:

php<?php
  declare(ticks=1);
  
  function tick_handler() {
    echo "Tick izvršen\n";
  }
  
  register_tick_function('tick_handler');
  
  $a = 1;
  $b = 2;
  $c = $a + $b;
?>

Rezultat izvršavanja koda:

phpTick izvršen
Tick izvršen
Tick izvršen
Tick izvršen

Primer

Korišćenje anonimne funkcije sa parametrima:

php<?php
  declare(ticks=2);
  
  register_tick_function(function($msg) {
    echo $msg . "\n";
  }, "Tick!");
  
  for ($i = 0; $i < 5; $i++) {
    // Neki kod
  }
?>

Rezultat izvršavanja koda:

phpTick!
Tick!

Primer

Otkazivanje registracije funkcije pomoću unregister_tick_function:

php<?php
  declare(ticks=1);
  
  function tick_log() {
    echo date('H:i:s') . "\n";
  }
  
  register_tick_function('tick_log');
  
  // Prvi deo koda
  $a = 10;
  $b = 20;
  
  unregister_tick_function('tick_log');
  
  // Drugi deo koda
  $c = $a + $b;
?>

Rezultat izvršavanja koda:

php14:25:03
14:25:03

Pogledajte takođe