Stefan: Constructor in einer Methode der Klasse erneut aufrufen?

Beitrag lesen

Hallo,

ich habe mal wieder eine allgemeine Frage. Da ich hier bisher immer alle meine Fragen beantwortet bekommen habe, versuche ich es auch diesmal. Ich versuch mal zu erklären was mich beschäftigt:

Ich habe eine MySQL-Klasse, in der sich drei Methoden befinden.

1. __construct()
2. connect()
3. query()

Im Constructor führe ich nun die connect()-Methode aus, um die Verbindung zur Datenbank zu initialisieren und eine Datenbank auszuwählen. In der query()-Methode überprüfe ich mit der Funktion mysql_ping, ob eine Datenbank Verbindung besteht und wenn nicht, möchte ich diese erneut herstellen.

Nun zu meiner eigentlichen Frage:
Ist es legitim in der query()-Methode den Constructor mit $this->__construct(); neu auszuführen, falls die Datenbank-Verbindung nicht mehr besteht oder ist das ein schlechter Stil den Constructor in einer Methode der Klasse neu aufzurufen?

Eigentlich ist der Constructor ja eine normale Methode der Klasse. Von der Seite betrachtet dürfte es ja kein Problem sein ihn erneut aufzurufen. Auf der anderen Seite ist ein Constructor ja dazu gedacht Werte zu initialisieren, die die Klasse auf jedenfall benötigt. Den Constructor dann in einer Methode der Klasse aufzurufen spricht ja dann gegen die Logik, wofür der Constructor eigentlich gedacht ist.

Ich weiß, in meinem Beispiel könnte ich in der query()-Methode auch einfach die connect()-Methode aufrufen und damit erübrigt sich meine Frage aber das soll nur ein Beispiel sein um meine Frage zu verdeutlichen. Es ist mehr eine genrelle Frage bezüglich des Constructors.