Kazi is_subclass_of

Kazi is_subclass_of inakagua ikiwa kitu au darasa ni mzao wa darasa maalum au inatekeleza interface maalum. Inakubali parameta ya kwanza kama kitu au jina la darasa, ya pili - jina la darasa mzazi au interface. Parameta ya tatu ya hiari inabainisha ikiwa inahitajukuzima wa madarasa.

Syntax

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

Mfano

Lets check inheritance of simple classes:

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

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

Result of code execution:

phptrue

Mfano

Lets check interface implementation:

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

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

Result of code execution:

phptrue

Mfano

Checking with object instead of class name:

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

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

Result of code execution:

phptrue

Mfano

Checking case when class is not a descendant:

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

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

Result of code execution:

phpfalse

Angalia pia