Функцыя register_tick_function

Функцыя register_tick_function дазваляе зарэгістраваць функцыю, якая будзе выклікацца на кожным тыку выканання скрыпта. Першым параметрам прымае імя функцыі ці ананімную функцыю, наступныя параметры - аргументы для перадаваемай функцыі. Для працы функцыі неабходна ўключыць тыкі з дапамогай declare(ticks=N), дзе N - колькасць тыкаў паміж выклікамі.

Сінтаксіс

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

Прыклад

Просты прыклад рэгістрацыі функцыі для выканання на кожным тыку:

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

Вынік выканання кода:

phpTick executed
Tick executed
Tick executed
Tick executed

Прыклад

Выкарыстанне ананімнай функцыі з параметрамі:

php<?php
  declare(ticks=2);
  
  register_tick_function(function($msg) {
    echo $msg . "\n";
  }, "Tick!");
  
  for ($i = 0; $i < 5; $i++) {
    // Некаторы код
  }
?>

Вынік выканання кода:

phpTick!
Tick!

Прыклад

Адмена рэгістрацыі функцыі з дапамогай unregister_tick_function:

php<?php
  declare(ticks=1);
  
  function tick_log() {
    echo date('H:i:s') . "\n";
  }
  
  register_tick_function('tick_log');
  
  // Першая частка кода
  $a = 10;
  $b = 20;
  
  unregister_tick_function('tick_log');
  
  // Другая частка кода
  $c = $a + $b;
?>

Вынік выканання кода:

php14:25:03
14:25:03

Глядзіце таксама

  • функцыю unregister_tick_function,
    якая адмяняе рэгістрацыю функцыі для выканання на тыках