ฟังก์ชัน spl_autoload_unregister
ฟังก์ชัน spl_autoload_unregister ช่วยให้ลบฟังก์ชันออโต้โหลดที่ลงทะเบียนไว้ก่อนหน้านี้ออกจากสแต็ก SPL ได้ โดยรับพารามิเตอร์เป็น callback-ฟังก์ชันที่ต้องการลบออกจากรายการออโต้โหลดเดอร์
ไวยากรณ์
spl_autoload_unregister(callable $autoload_function);
ตัวอย่าง
มาลองลงทะเบียนแล้วลบออโต้โหลดเดอร์กัน:
<?php
function my_autoload($class) {
include 'classes/' . $class . '.php';
}
spl_autoload_register('my_autoload');
spl_autoload_unregister('my_autoload');
?>
ตอนนี้ฟังก์ชัน my_autoload จะไม่ถูกเรียกอีกต่อไปเมื่อพยายามโหลดคลาสที่ยังไม่ได้กำหนด
ตัวอย่าง
ตรวจสอบความสำเร็จของการลบออโต้โหลดเดอร์:
<?php
function autoload_one($class) {
echo "Trying to load $class\n";
}
spl_autoload_register('autoload_one');
$res = spl_autoload_unregister('autoload_one');
var_dump($res);
?>
ผลลัพธ์จากการรันโค้ด:
true
ตัวอย่าง
พยายามลบออโต้โหลดเดอร์ที่ไม่มีอยู่:
<?php
$res = spl_autoload_unregister('nonexistent_function');
var_dump($res);
?>
ผลลัพธ์จากการรันโค้ด:
false
ดูเพิ่มเติม
-
ฟังก์ชัน spl_autoload_register,
ซึ่งใช้ลงทะเบียนออโต้โหลดเดอร์ -
ฟังก์ชัน spl_autoload_functions,
ซึ่งส่งคืนออโต้โหลดเดอร์ทั้งหมด -
ฟังก์ชัน spl_autoload_call,
ซึ่งเรียกใช้ออโต้โหลดเดอร์