3v4l.org

run code in 300+ PHP versions simultaneously
<?php interface SerializableInterface {}; interface SomeResizableInterface {}; interface IterableInterface {}; trait SomeSerializableTrait {}; trait SomeOtherSerializableTrait {}; class SomeContainer implements SerializableInterface, IterableInterface { use SomeSerializableTrait; } class SomeOtherContainer extends SomeContainer implements SomeResizableInterface { use SomeOtherSerializableTrait; } $someContainer = new SomeContainer; $someOtherContainer = new SomeOtherContainer; var_dump($someContainer instanceof SerializableInterface); var_dump($someOtherContainer instanceof SerializableInterface); var_dump($someOtherContainer instanceof SomeSerializableTrait); // type hint it function testTrait(SomeSerializableTrait $container) {} function testInterface(SomeResizableInterface $container) {} testTrait($someOtherContainer); testInterface($someOtherContainer);

preferences:
42.91 ms | 402 KiB | 5 Q