Functie register_tick_function

De functie register_tick_function maakt het mogelijk om een functie te registreren, die wordt aangeroepen bij elke tick tijdens de uitvoering van het script. De eerste parameter accepteert de naam van een functie of een anonieme functie, de volgende parameters - argumenten voor de doorgegeven functie. Voor de werking van de functie is het noodzakelijk om ticks in te schakelen met behulp van declare(ticks=N), waar N het aantal ticks tussen aanroepen is.

Syntaxis

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

Voorbeeld

Een eenvoudig voorbeeld van het registreren van een functie voor uitvoering op elke tick:

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

Resultaat van code-uitvoering:

phpTick uitgevoerd
Tick uitgevoerd
Tick uitgevoerd
Tick uitgevoerd

Voorbeeld

Gebruik van een anonieme functie met parameters:

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

Resultaat van code-uitvoering:

phpTick!
Tick!

Voorbeeld

Opheffen van functieregistratie met unregister_tick_function:

php<?php
  declare(ticks=1);
  
  function tick_log() {
    echo date('H:i:s') . "\n";
  }
  
  register_tick_function('tick_log');
  
  // Eerste deel van de code
  $a = 10;
  $b = 20;
  
  unregister_tick_function('tick_log');
  
  // Tweede deel van de code
  $c = $a + $b;
?>

Resultaat van code-uitvoering:

php14:25:03
14:25:03

Zie ook