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

関連項目