3v4l.org

run code in 300+ PHP versions simultaneously
<?php interface ListenerAggregate {} class EM { public function attach(callable $listener){ if($listener instanceof ListenerAggregate){ // this is indeed an aggregate! echo "Attached aggregate"; }else{ echo "Attached regular callable"; } } } class SomeAggregateListener implements ListenerAggregate { public function __invoke() { // look ma, I'm a callable! } } $em = new EM; $em->attach(function(){}); $aggregate = new SomeAggregateListener; $em->attach($aggregate);
Output for git.master, git.master_jit, rfc.property-hooks
Attached regular callableAttached aggregate

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
46.58 ms | 401 KiB | 8 Q