Funkcija is_subclass_of

Funkcija is_subclass_of preverja, ali objekt ali razred spada med potomce navedenega razreda ali ali implementira navedeni vmesnik. Kot prvi parameter sprejme objekt ali ime razreda, kot drugega pa ime nadrejenega razreda ali vmesnika. Tretji neobvezni parameter določa, ali je treba upoštevati samodejno nalaganje razredov.

Sintaksa

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

Primer

Preverimo dedovanje preprostih razredov:

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

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

Rezultat izvajanja kode:

phptrue

Primer

Preverimo implementacijo vmesnika:

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

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

Rezultat izvajanja kode:

phptrue

Primer

Preverjanje z objektom namesto imena razreda:

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

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

Rezultat izvajanja kode:

phptrue

Primer

Preverjanje primera, ko razred ni potomec:

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

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

Rezultat izvajanja kode:

phpfalse

Glejte tudi