함수 is_subclass_of

함수 is_subclass_of는 객체나 클래스가 지정된 클래스의 자식 클래스에 속하는지 또는 지정된 인터페이스를 구현하는지 확인합니다. 첫 번째 매개변수로 객체나 클래스 이름을, 두 번째 매개변수로 부모 클래스나 인터페이스 이름을 받습니다. 세 번째 선택적 매개변수는 클래스 자동 로딩을 고려해야 하는지 여부를 결정합니다.

문법

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

예제

간단한 클래스의 상속을 확인해 봅시다:

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

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

코드 실행 결과:

phptrue

예제

인터페이스 구현을 확인해 봅시다:

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

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

코드 실행 결과:

phptrue

예제

클래스 이름 대신 객체를 사용한 확인:

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

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

코드 실행 결과:

phptrue

예제

클래스가 자식 클래스가 아닌 경우 확인:

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

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

코드 실행 결과:

phpfalse

함께 보기