ოპერატორი instanceof

ოპერატორი instanceof ამოწმებს, არის თუ არა ობიექტი მითითებული კლასის ეგზემპლარი ან მისი მემკვიდრის. პირველ პარამეტრად იღებს ობიექტს, მეორედ - კლასის სახელს შესამოწმებლად. აბრუნებს true-ს თუ ობიექტი ეკუთვნის კლასს ან false-ს წინააღმდეგ შემთხვევაში.

სინტაქსი

php$object instanceof ClassName;

მაგალითი

შევამოწმოთ, არის თუ არა ობიექტი MyClass კლასის ეგზემპლარი:

php<?php
  class MyClass {}
  $obj = new MyClass();
  var_dump($obj instanceof MyClass);
?>

კოდის შესრულების შედეგი:

phptrue

მაგალითი

შევამოწმოთ კლასების მემკვიდრეობა:

php<?php
  class ParentClass {}
  class ChildClass extends ParentClass {}
  
  $child = new ChildClass();
  var_dump($child instanceof ParentClass);
?>

კოდის შესრულების შედეგი:

phptrue

მაგალითი

შევამოწმოთ, რომ ობიექტი არ არის კლასის ეგზემპლარი:

php<?php
  class A {}
  class B {}
  
  $a = new A();
  var_dump($a instanceof B);
?>

კოდის შესრულების შედეგი:

phpfalse

იხილეთ აგრეთვე

  • ფუნქცია get_class,
    რომელიც აბრუნებს ობიექტის კლასის სახელს
  • ფუნქცია is_a,
    რომელიც ამოწმებს ობიექტის კლასთან მიკუთვნებულობას