Funkcija register_tick_function

Funkcija register_tick_function leidžia užregistruoti funkciją, kuri bus iškviečiama kiekviename scenarijaus vykdymo tike. Pirmu parametru priima funkcijos pavadinimą arba anoniminę funkciją, tolesni parametrai - argumentai perduodamai funkcijai. Kad funkcija veiktų, būtina įjungti tikus naudojant declare(ticks=N), kur N - tikų skaičius tarp iškvietimų.

Sintaksė

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

Pavyzdys

Paprastas funkcijos registravimo vykdymui kiekviename tike pavyzdys:

php<?php
  declare(ticks=1);
  
  function tick_handler() {
    echo "Tikas įvykdytas\n";
  }
  
  register_tick_function('tick_handler');
  
  $a = 1;
  $b = 2;
  $c = $a + $b;
?>

Kodo vykdymo rezultatas:

phpTikas įvykdytas
Tikas įvykdytas
Tikas įvykdytas
Tikas įvykdytas

Pavyzdys

Anoniminės funkcijos su parametrais naudojimas:

php<?php
  declare(ticks=2);
  
  register_tick_function(function($msg) {
    echo $msg . "\n";
  }, "Tikas!");
  
  for ($i = 0; $i < 5; $i++) {
    // Šiek tiek kodo
  }
?>

Kodo vykdymo rezultatas:

phpTikas!
Tikas!

Pavyzdys

Funkcijos registracijos atšaukimas naudojant unregister_tick_function:

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

Kodo vykdymo rezultatas:

php14:25:03
14:25:03

Taip pat žiūrėkite