ფუნქცია 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

იხილეთ აგრეთვე

  • ფუნქცია is_a,
    რომელიც ამოწმებს კლასის კუთვნილებას
  • ფუნქცია class_parents,
    რომელიც აბრუნებს ყველა მშობელს
  • ფუნქცია get_parent_class,
    რომელიც აბრუნებს მშობელ კლასს
  • ფუნქცია instanceof,
    ოპერატორი ეგზემპლარის შემოწმებისთვის