ฟังก์ชัน is_subclass_of
ฟังก์ชัน is_subclass_of ตรวจสอบว่าออบเจ็กต์หรือคลาสเป็นคลาสลูกของคลาสที่ระบุหรือใช้งานอินเทอร์เฟซที่ระบุหรือไม่ พารามิเตอร์แรกรับออบเจ็กต์หรือชื่อคลาส พารามิเตอร์ที่สองรับชื่อคลาสแม่หรืออินเทอร์เฟซ พารามิเตอร์ที่สามซึ่งเป็นตัวเลือกกำหนดว่าจะต้องพิจารณาการโหลดคลาสอัตโนมัติหรือไม่
ไวยากรณ์
is_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool
ตัวอย่าง
ตรวจสอบการสืบทอดของคลาสทั่วไป:
<?php
class ParentClass {}
class ChildClass extends ParentClass {}
$res = is_subclass_of('ChildClass', 'ParentClass');
var_dump($res);
?>
ผลลัพธ์จากการรันโค้ด:
true
ตัวอย่าง
ตรวจสอบการใช้อินเทอร์เฟซ:
<?php
interface MyInterface {}
class MyClass implements MyInterface {}
$res = is_subclass_of('MyClass', 'MyInterface');
var_dump($res);
?>
ผลลัพธ์จากการรันโค้ด:
true
ตัวอย่าง
การตรวจสอบด้วยออบเจ็กต์แทนชื่อคลาส:
<?php
class Animal {}
class Dog extends Animal {}
$dog = new Dog();
$res = is_subclass_of($dog, 'Animal');
var_dump($res);
?>
ผลลัพธ์จากการรันโค้ด:
true
ตัวอย่าง
ตรวจสอบกรณีที่คลาสไม่ได้เป็นคลาสลูก:
<?php
class A {}
class B {}
$res = is_subclass_of('B', 'A');
var_dump($res);
?>
ผลลัพธ์จากการรันโค้ด:
false
ดูเพิ่มเติม
-
ฟังก์ชัน is_a,
ซึ่งตรวจสอบความเป็นสมาชิกของคลาส -
ฟังก์ชัน class_parents,
ซึ่งส่งคืนคลาสแม่ทั้งหมด -
ฟังก์ชัน get_parent_class,
ซึ่งส่งคืนคลาสแม่ -
ฟังก์ชัน instanceof,
โอเปอเรเตอร์ตรวจสอบอินสแตนซ์