Funkcija register_tick_function

Funkcija register_tick_function ļauj reģistrēt funkciju, kas tiks izsaukta katrā skripta izpildes tikā. Pirmo parametru saņem funkcijas nosaukumu vai anonīmu funkciju, nākamie parametri - argumenti padotajai funkcijai. Lai funkcija darbotos, nepieciešams ieslēgt tikus, izmantojot declare(ticks=N), kur N - tiku skaits starp izsaukumiem.

Sintakse

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

Piemērs

Vienkāršs funkcijas reģistrēšanas piemērs izpildei katrā tikā:

php<?php
  declare(ticks=1);
  
  function tick_handler() {
    echo "Tiks izpildīts\n";
  }
  
  register_tick_function('tick_handler');
  
  $a = 1;
  $b = 2;
  $c = $a + $b;
?>

Koda izpildes rezultāts:

phpTiks izpildīts
Tiks izpildīts
Tiks izpildīts
Tiks izpildīts

Piemērs

Anonīmas funkcijas izmantošana ar parametriem:

php<?php
  declare(ticks=2);
  
  register_tick_function(function($msg) {
    echo $msg . "\n";
  }, "Tiks!");
  
  for ($i = 0; $i < 5; $i++) {
    // Kāds kods
  }
?>

Koda izpildes rezultāts:

phpTiks!
Tiks!

Piemērs

Funkcijas reģistrācijas atcelšana, izmantojot unregister_tick_function:

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

Koda izpildes rezultāts:

php14:25:03
14:25:03

Skatiet arī