- class_implements: documentation ( source)
- var_dump: documentation ( source)
- class_parents: documentation ( source)
<?php
interface ShipInterface {}
abstract class AbstractShip implements ShipInterface {}
class ShipOnlyAbstract extends AbstractShip {}
class ShipWithInterface extends AbstractShip implements ShipInterface {}
$shipOnlyAbstract = new ShipOnlyAbstract();
$shipWithInterface = new ShipWithInterface();
var_dump($shipOnlyAbstract instanceof AbstractShip);
var_dump($shipWithInterface instanceof AbstractShip);
var_dump($shipOnlyAbstract instanceof ShipInterface);
var_dump($shipWithInterface instanceof ShipInterface);
var_dump(class_implements($shipOnlyAbstract));
var_dump(class_implements($shipWithInterface));
var_dump(class_parents($shipOnlyAbstract));
var_dump(class_parents($shipWithInterface));
$refShipOnlyAbstract = new ReflectionClass("ShipOnlyAbstract");
$refShipWithInterface = new ReflectionClass("ShipWithInterface");
var_dump($refShipOnlyAbstract->getInterfaceNames());
var_dump($refShipWithInterface->getInterfaceNames());
var_dump($refShipOnlyAbstract->implementsInterface("ShipInterface"));
var_dump($refShipWithInterface->implementsInterface("ShipInterface"));