次の 4 つの PHP ファイルがあります。
1.Singleton.php
<?php
class Singleton {
private static $instance = null;
protected function __clone() {}
private function __construct() {}
public static function getInstance() {
if (self::$instance === null) {
self::$instance = new self;
}
return self::$instance;
}
}
?>
2.Debugger.php
<?php
interface Debugger {
public function debug($message);
}
?>
3.DebuggerEcho.php
<?php
require_once 'Singleton.php';
require_once 'Debugger.php';
class DebuggerEcho extends Singleton implements Debugger {
public function debug($message) {
echo $message . PHP_EOL;
}
}
?>
4.TestSingleton.php
<?php
require_once 'DebuggerEcho.php';
$debugger = DebuggerEcho::getInstance();
$debugger->debug('Hello world');
?>
問題は、 line を呼び出すときです$debugger->debug('Hello world')
。この構造を維持したいが、この (古典的な) メッセージは避けたい:
Call to undefined method Singleton::debug() in TestSingleton.php.
何がうまくいかないのですか?ご協力ありがとう御座います。