<?php
interface ListenerAggregate {}
class EM {
public function attach($listener)
{
if($listener instanceof ListenerAggregate){
echo "Attached an aggregate\n";
}else{
echo "Attached regular callable\n";
}
}
}
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);
Parse error: syntax error, unexpected T_FUNCTION, expecting ')' in /in/didvH on line 23
Process exited with code 255.
Output for 5.1.0 - 5.1.6, 5.2.0 - 5.2.2
<br />
<b>Parse error</b>: syntax error, unexpected T_FUNCTION, expecting ')' in <b>/in/didvH</b> on line <b>23</b><br />
Process exited with code 255.
Output for 5.0.0 - 5.0.5
<br />
<b>Parse error</b>: parse error, unexpected T_FUNCTION, expecting ')' in <b>/in/didvH</b> on line <b>23</b><br />
Process exited with code 255.
Output for 4.4.2 - 4.4.9
<br />
<b>Parse error</b>: syntax error, unexpected T_STRING in <b>/in/didvH</b> on line <b>2</b><br />
Process exited with code 255.