326 of 410 menu

Функция 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,
    оператор за проверка на инстанция
Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне