Funktion register_tick_function

Die Funktion register_tick_function ermöglicht es, eine Funktion zu registrieren, die bei jedem Tick der Skriptausführung aufgerufen wird. Der erste Parameter erwartet den Namen einer Funktion oder eine anonyme Funktion, die nachfolgenden Parameter sind Argumente für die übergebene Funktion. Damit die Funktion arbeitet, müssen Ticks mit declare(ticks=N) aktiviert werden, wobei N die Anzahl der Ticks zwischen den Aufrufen ist.

Syntax

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

Beispiel

Ein einfaches Beispiel zur Registrierung einer Funktion für die Ausführung bei jedem Tick:

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

Ausgabe des Codes:

phpTick executed
Tick executed
Tick executed
Tick executed

Beispiel

Verwendung einer anonymen Funktion mit Parametern:

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

Ausgabe des Codes:

phpTick!
Tick!

Beispiel

Aufheben der Registrierung einer Funktion mit unregister_tick_function:

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

Ausgabe des Codes:

php14:25:03
14:25:03

Siehe auch