ฟังก์ชัน register_tick_function
ฟังก์ชัน register_tick_function ช่วยให้คุณสามารถลงทะเบียนฟังก์ชัน
ที่จะถูกเรียกใช้ในทุก tick ของการดำเนินการสคริปต์ พารามิเตอร์แรก
รับชื่อฟังก์ชันหรือฟังก์ชันแบบไม่ระบุชื่อ พารามิเตอร์ต่อๆ ไป - อาร์กิวเมนต์
สำหรับฟังก์ชันที่ส่งผ่าน เพื่อให้ฟังก์ชันทำงานได้จำเป็นต้องเปิดใช้งาน ticks โดยใช้
declare(ticks=N) โดยที่ N คือจำนวน tick ระหว่างการเรียกใช้
ไวยากรณ์
register_tick_function(callable $function, mixed ...$args);
ตัวอย่าง
ตัวอย่างง่ายๆ ของการลงทะเบียนฟังก์ชันเพื่อดำเนินการในทุก tick:
<?php
declare(ticks=1);
function tick_handler() {
echo "Tick executed\n";
}
register_tick_function('tick_handler');
$a = 1;
$b = 2;
$c = $a + $b;
?>
ผลลัพธ์การทำงานของโค้ด:
Tick executed
Tick executed
Tick executed
Tick executed
ตัวอย่าง
การใช้ฟังก์ชันแบบไม่ระบุชื่อพร้อมพารามิเตอร์:
<?php
declare(ticks=2);
register_tick_function(function($msg) {
echo $msg . "\n";
}, "Tick!");
for ($i = 0; $i < 5; $i++) {
// โค้ดบางส่วน
}
?>
ผลลัพธ์การทำงานของโค้ด:
Tick!
Tick!
ตัวอย่าง
ยกเลิกการลงทะเบียนฟังก์ชันด้วย unregister_tick_function:
<?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;
?>
ผลลัพธ์การทำงานของโค้ด:
14:25:03
14:25:03
ดูเพิ่มเติม
-
ฟังก์ชัน
unregister_tick_function,
ซึ่งยกเลิกการลงทะเบียนฟังก์ชันสำหรับดำเนินการใน tick