Ich glaube nicht, dass es einen Unterschied macht, ob Sie sich innerhalb der Konstruktion oder innerhalb einer Verbindungsmethode mit der Datenbank verbinden. Ich glaube, Sie müssen diese Befehle ändern.
Die Verwendung des Würfels bewirkt, dass das Skript angehalten wird und 1 kleine Nachricht an den Benutzer gesendet wird. Der Benutzer würde denken, dies sei Müll, und nie wieder Ihre Website besuchen :( :(
Was Sie tun sollten, ist das Auffinden von Fehlern und das Umleiten auf eine statische Seite, auf der Sie dem Benutzer eine sehr nette Nachricht anzeigen können, die sich für die technischen Probleme entschuldigt, die Sie haben.
Sie können auch eine Box mit der Aufschrift "Geben Sie Ihre E-Mail-Adresse ein. Wir werden Sie per E-Mail benachrichtigen, wenn Sie wieder online waren. Sie erhalten die Idee."
Was den Code angeht, würde ich folgende Zeilen durchgehen:
class Database
{
public function __construct($autoconnect = false)
{
//Here you would 'globalize' your config and set it locally as a reference.
if($autoconnect === true)
{
$this->connect();
}
}
public function connect()
{
if($this->connected() === false)
{
$result = $this->driver->sendCommand("connect");
if($result === true)
{
$this->setConnectionState("active");
$this->setConnectionResource($this->driver->sendCommand("get_resource"));
}else
{
throw new DatabaseConnectionError($this->driver->sendCommand("getDriverError"));
}
}
}
}
Dadurch erhalten Sie auf lange Sicht mehr Funktionen, da jede Aktion innerhalb Ihrer APP entschieden werden kann. Standardmäßig wird nichts automatisch ausgelöst.
Sie können einfach versuchen, Blöcke zu blockieren, um Ihre Fehlerberichte zu verwalten.