Erzeugt genau eine Instanz eines Objektes.
singleton.php
use Util\Logger;
function autoloader($class) {
$newName = str_replace('\\', '/', $class);
$path = "lib/$newName.php";
if (!class_exists($class)) {
if (file_exists($path)) {
require $path;
}
}
}
spl_autoload_register(autoloader);
ini_set('display_errors', true);
Logger::getInstance()->log("Das ist eine Testnachricht");
Logger::getInstance()->log("Noch eine Testnachricht");
lib/Util/Logger.php
namespace Util;
class Logger
{
private static $instance = null;
private function __construct()
{}
public static function getInstance() {
if (self::$instance == null) {
self::$instance = new Logger();
}
return self::$instance;
}
public function log($message)
{
printf("Logged: %s<br>", $message);
}
}