@ 2020-05-16T12:03:14Z <?php
abstract class EventManagerBase
{
abstract protected function attach(string $event);
}
final class EventManager extends EventManagerBase
{
protected function attach(string $event)
{
echo "attaching $event\n";
}
}
final class EventConfigurator extends EventManagerBase
{
private EventManagerBase $eventManager;
public function __construct(EventManagerBase $eventManager, array $config)
{
$this->eventManager = $eventManager;
foreach ($config as $event) {
$this->attach($event);
}
}
protected function attach(string $event)
{
$this->eventManager->attach($event);
}
}
$eventManager = new EventManager();
$configurator = new EventConfigurator($eventManager, ['event1', 'event2']);
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Output for 7.4.0 - 7.4.33 , 8.0.0 - 8.0.30 , 8.1.0 - 8.1.31 , 8.2.0 - 8.2.27 , 8.3.0 - 8.3.15 , 8.4.1 - 8.4.2 attaching event1
attaching event2
Output for 7.1.0 - 7.1.33 , 7.2.0 - 7.2.34 , 7.3.0 - 7.3.33 Parse error: syntax error, unexpected 'EventManagerBase' (T_STRING), expecting function (T_FUNCTION) or const (T_CONST) in /in/k1e2l on line 18
Process exited with code 255 . Output for 5.4.0 - 5.4.45 , 5.5.0 - 5.5.38 , 5.6.0 - 5.6.40 , 7.0.0 - 7.0.33 Parse error: syntax error, unexpected 'EventManagerBase' (T_STRING), expecting variable (T_VARIABLE) in /in/k1e2l on line 18
Process exited with code 255 . Output for 5.1.0 - 5.1.6 , 5.2.0 - 5.2.17 , 5.3.0 - 5.3.29 Parse error: syntax error, unexpected T_STRING, expecting T_VARIABLE in /in/k1e2l on line 18
Process exited with code 255 . Output for 5.0.0 - 5.0.5 Parse error: parse error, unexpected T_STRING, expecting T_VARIABLE in /in/k1e2l on line 18
Process exited with code 255 . Output for 4.4.2 - 4.4.9 Parse error: syntax error, unexpected T_CLASS in /in/k1e2l on line 3
Process exited with code 255 . Output for 4.3.0 - 4.3.1 , 4.3.5 - 4.3.11 , 4.4.0 - 4.4.1 Parse error: parse error, unexpected T_CLASS in /in/k1e2l on line 3
Process exited with code 255 . Output for 4.3.2 - 4.3.4 Parse error: parse error in /in/k1e2l on line 3
Process exited with code 255 . preferences:dark mode live preview
157.05 ms | 415 KiB | 5 Q