Funkcija is_subclass_of

Funkcija is_subclass_of pārbauda, vai objekts vai klase pieder norādītās klases pēctečiem vai vai tas realizē norādīto interfeisu. Pirmā parametrā pieņem objektu vai klases nosaukumu, otrajā - vecāku klases vai interfeisa nosaukumu. Trešais neobligātais parametrs nosaka, vai ir jāņem vērā automātiskā klašu ielāde.

Sintakse

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

Piemērs

Pārbaudīsim vienkāršu klašu mantošanu:

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

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

Koda izpildes rezultāts:

phptrue

Piemērs

Pārbaudīsim interfeisa realizāciju:

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

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

Koda izpildes rezultāts:

phptrue

Piemērs

Pārbaude ar objektu klases nosaukuma vietā:

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

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

Koda izpildes rezultāts:

phptrue

Piemērs

Gadījuma pārbaude, kad klase nav pēctecis:

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

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

Koda izpildes rezultāts:

phpfalse

Skatiet arī