Hàm register_tick_function

Hàm register_tick_function cho phép đăng ký một hàm, sẽ được gọi trên mỗi tick thực thi của script. Tham số đầu tiên nhận tên hàm hoặc một hàm ẩn danh, các tham số tiếp theo - là các đối số dành cho hàm được truyền vào. Để hàm hoạt động cần bật tick bằng cách sử dụng declare(ticks=N), trong đó N - số lượng tick giữa các lần gọi.

Cú pháp

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

Ví dụ

Ví dụ đơn giản về việc đăng ký hàm để thực thi trên mỗi 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;
?>

Kết quả thực thi mã:

phpTick executed
Tick executed
Tick executed
Tick executed

Ví dụ

Sử dụng hàm ẩn danh với các tham số:

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

Kết quả thực thi mã:

phpTick!
Tick!

Ví dụ

Hủy đăng ký hàm bằng unregister_tick_function:

php<?php
  declare(ticks=1);
  
  function tick_log() {
    echo date('H:i:s') . "\n";
  }
  
  register_tick_function('tick_log');
  
  // Phần mã thứ nhất
  $a = 10;
  $b = 20;
  
  unregister_tick_function('tick_log');
  
  // Phần mã thứ hai
  $c = $a + $b;
?>

Kết quả thực thi mã:

php14:25:03
14:25:03

Xem thêm