<?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->action();
Fatal error: Uncaught Error: Call to undefined method Application::action() in /in/SgqBO:35
Stack trace:
#0 {main}
thrown in /in/SgqBO on line 35
Process exited with code 255.
Output for 8.3.5
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
Fatal error: Uncaught Error: Call to undefined method Application::action() in /in/SgqBO:35
Stack trace:
#0 {main}
thrown in /in/SgqBO on line 35
Process exited with code 255.
Output for 5.5.24 - 5.5.35, 5.6.8 - 5.6.28
Fatal error: Call to undefined method Application::action() in /in/SgqBO on line 35
Process exited with code 255.