Funktio is_subclass_of

Funktio is_subclass_of tarkistaa, kuuluuko olio tai luokka määritetyn luokan jälkeläisiin tai toteuttaako se määritetyn rajapinnan. Se ottaa ensimmäisenä parametrina olion tai luokan nimen, toisena - yliluokan tai rajapinnan nimen. Kolmas valinnainen parametri määrittää, pitäisikö luokkien automaattista latausta ottaa huomioon.

Syntaksi

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

Esimerkki

Tarkistetaan yksinkertaisten luokkien periytyminen:

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

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

Koodin suorituksen tulos:

phptrue

Esimerkki

Tarkistetaan rajapinnan toteutus:

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

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

Koodin suorituksen tulos:

phptrue

Esimerkki

Tarkistus oliolla luokan nimen sijasta:

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

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

Koodin suorituksen tulos:

phptrue

Esimerkki

Tapauksen tarkistus, jossa luokka ei ole jälkeläinen:

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

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

Koodin suorituksen tulos:

phpfalse

Katso myös