ฟังก์ชัน register_tick_function

ฟังก์ชัน register_tick_function ช่วยให้คุณสามารถลงทะเบียนฟังก์ชัน ที่จะถูกเรียกใช้ในทุก tick ของการดำเนินการสคริปต์ พารามิเตอร์แรก รับชื่อฟังก์ชันหรือฟังก์ชันแบบไม่ระบุชื่อ พารามิเตอร์ต่อๆ ไป - อาร์กิวเมนต์ สำหรับฟังก์ชันที่ส่งผ่าน เพื่อให้ฟังก์ชันทำงานได้จำเป็นต้องเปิดใช้งาน ticks โดยใช้ declare(ticks=N) โดยที่ N คือจำนวน tick ระหว่างการเรียกใช้

ไวยากรณ์

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

ตัวอย่าง

ตัวอย่างง่ายๆ ของการลงทะเบียนฟังก์ชันเพื่อดำเนินการในทุก 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;
?>

ผลลัพธ์การทำงานของโค้ด:

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,
    ซึ่งยกเลิกการลงทะเบียนฟังก์ชันสำหรับดำเนินการใน tick