ฟังก์ชัน register_shutdown_function

ฟังก์ชัน register_shutdown_function อนุญาตให้ลงทะเบียน callback-ฟังก์ชันที่จะถูกดำเนินการเมื่อสคริปต์สิ้นสุดการทำงานหรือเมื่อเกิดข้อผิดพลาดร้ายแรง พารามิเตอร์แรกคือชื่อฟังก์ชันหรือฟังก์ชันแบบไม่ระบุชื่อ พารามิเตอร์ต่อๆ ไป (ไม่บังคับ) คืออาร์กิวเมนต์สำหรับฟังก์ชันนั้น

ไวยากรณ์

phpregister_shutdown_function(callable $callback, mixed ...$args): void

ตัวอย่าง

การลงทะเบียนฟังก์ชันง่ายๆ สำหรับการสิ้นสุด:

php<?php
  function shutdown() {
    echo 'สคริปต์ทำงานเสร็จสิ้น';
  }
  
  register_shutdown_function('shutdown');
  echo 'สคริปต์กำลังทำงาน...';
?>

ผลลัพธ์จากการรันโค้ด:

phpสคริปต์กำลังทำงาน...สคริปต์ทำงานเสร็จสิ้น

ตัวอย่าง

การใช้ฟังก์ชันแบบไม่ระบุชื่อ:

php<?php
  register_shutdown_function(function() {
    echo 'การทำความสะอาดเสร็จสิ้น';
  });
  
  echo 'การดำเนินการหลัก...';
?>

ผลลัพธ์จากการรันโค้ด:

phpการดำเนินการหลัก...การทำความสะอาดเสร็จสิ้น

ตัวอย่าง

การส่งอาร์กิวเมนต์ไปยัง shutdown-ฟังก์ชัน:

php<?php
  function logShutdown($message) {
    echo $message;
  }
  
  register_shutdown_function('logShutdown', 'สคริปต์ปิดทำงานที่เวลา: ' . date('H:i:s'));
  echo 'กำลังประมวลผลข้อมูล...';
?>

ผลลัพธ์จากการรันโค้ด:

phpกำลังประมวลผลข้อมูล...สคริปต์ปิดทำงานที่เวลา: [current_time]

ดูเพิ่มเติม

  • ฟังก์ชัน error_reporting,
    ซึ่งตั้งค่าระดับการรายงานข้อผิดพลาด
  • ฟังก์ชัน set_exception_handler,
    ซึ่งตั้งค่าตัวจัดการข้อผิดพลาดแบบไม่คาดคิด (exception)