Operator instanceof sprawdza czy dany obiekt jest obiektem danej klasy lub klasy która dziedziczy po danej klasie. W wypadku powodzenia zwraca wartość logiczną true.
Za pomocą operatora instanceof sprawdzić także możemy czy obiekt jest klasy imlemenującej dany interfejs.
<?php
interface Interfejs{}
class Bazowa{}
class Dziedzic extends Bazowa implements Interfejs{}
$obiekt = new Dziedzic;
if( $obiekt instanceof Interfejs ){
echo 'obiekt implementuje Interfejs<br />';
}
if( $obiekt instanceof Bazowa ){
echo 'jest to obiekt klasy Bazowa
lub jest on obiektem klasy która
po niej dziedziczy<br /> ';
}
if( $obiekt instanceof Dziedzic ){
echo 'jest to obiekt klasy Dziedzic
lub jest on obiektem klasy która
po niej dziedziczy ';
}
?>
Na ekranie ujrzymy :
PHP pozwala na podawanie oczekiwanycg typów obiektów przy deklaracji argumentów funkcji.
Podczas wywołania takiej funkji PHP automatycznie sprawdzi poprawność przesłanego obiektu za pomocą operatora instanceof.
Jeśli operator zwróci wartość logiczną false, metoda nie zostanie wykonana a PHP zwróci błąd.
Darmowy hosting zapewnia PRV.PL