Hàm is_subclass_of

Hàm is_subclass_of kiểm tra xem một đối tượng hoặc lớp có thuộc về các lớp con của lớp được chỉ định hoặc có triển khai giao diện được chỉ định hay không. Tham số đầu tiên nhận một đối tượng hoặc tên lớp, tham số thứ hai - tên lớp cha hoặc giao diện. Tham số thứ ba tùy chọn xác định có cần tính đến việc tự động tải lớp hay không.

Cú pháp

phpis_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool

Ví dụ

Hãy kiểm tra tính kế thừa của các lớp đơn giản:

php<?php
  class ParentClass {}
  class ChildClass extends ParentClass {}

  $res = is_subclass_of('ChildClass', 'ParentClass');
  var_dump($res);
?>

Kết quả thực thi mã:

phptrue

Ví dụ

Hãy kiểm tra việc triển khai giao diện:

php<?php
  interface MyInterface {}
  class MyClass implements MyInterface {}

  $res = is_subclass_of('MyClass', 'MyInterface');
  var_dump($res);
?>

Kết quả thực thi mã:

phptrue

Ví dụ

Kiểm tra với đối tượng thay vì tên lớp:

php<?php
  class Animal {}
  class Dog extends Animal {}

  $dog = new Dog();
  $res = is_subclass_of($dog, 'Animal');
  var_dump($res);
?>

Kết quả thực thi mã:

phptrue

Ví dụ

Kiểm tra trường hợp lớp không phải là lớp con:

php<?php
  class A {}
  class B {}

  $res = is_subclass_of('B', 'A');
  var_dump($res);
?>

Kết quả thực thi mã:

phpfalse

Xem thêm