3v4l.org

run code in 300+ PHP versions simultaneously
<?php interface Logger { public function log($message); } class Application { protected $logger; public function setLogger(Logger $logger) { $this->logger = $logger; } public function doTask() { $this->logger->log('test data'); } } class FileLogger implements Logger { public function log($message) { var_dump($message); } } $app = new Application(); $app->setLogger(new FileLogger); $app->doTask();

preferences:
45.58 ms | 402 KiB | 5 Q