Hallo erstmal
Also ich bin gerade dabei eine Klasse zu schreiben, deren Methoden Zugriff auf eine MySQL-Db benötigen. Und wenn schon objekt-orientiert, dann soll für den DB-Zugriff Das Modul mysqli zum Einsatz kommen.
Meine Idee zur Vorgehensweise ist folgende: da eh jede Methode meiner Klasse DB-Zugriff benötigt, wollte ich im Konstruktor ein neues mysqli-Objekt erzeugen und dann im Destruktor mysqli->Close() aufrufen. Die Methoden müssen sich dann weder um die Herstellung noch das Trennen der Verbindung bemühen, sondern sollen direkt mit dem im Konstruktor erzeugten mysqli-Objekt Arbeiten können.
Ist diese Vorgehensweise sinnvoll, oder sollte sich jede einzelne Methode selbst um die Verbindung kümmern?
Dann habe ich noch eine Frage zur Sichtbarkeit des im Konstruktor erzeugten mysqli-Objekts. Bisher ist dieses ja nur innerhalb des Konstruktors sichtbar, die anderen Methoden sollen ja allerdings auch Zugriff darauf haben. Muss ich also außerhalb des Konstruktors schon so etwas wie "$db = new Object()" deklarieren, welches ich dann innerhalb des Konstruktors mit mysqli initialisiere, oder was ist da die beste Lösung?
Danke schonmal
Also ich bin gerade dabei eine Klasse zu schreiben, deren Methoden Zugriff auf eine MySQL-Db benötigen. Und wenn schon objekt-orientiert, dann soll für den DB-Zugriff Das Modul mysqli zum Einsatz kommen.
Meine Idee zur Vorgehensweise ist folgende: da eh jede Methode meiner Klasse DB-Zugriff benötigt, wollte ich im Konstruktor ein neues mysqli-Objekt erzeugen und dann im Destruktor mysqli->Close() aufrufen. Die Methoden müssen sich dann weder um die Herstellung noch das Trennen der Verbindung bemühen, sondern sollen direkt mit dem im Konstruktor erzeugten mysqli-Objekt Arbeiten können.
Ist diese Vorgehensweise sinnvoll, oder sollte sich jede einzelne Methode selbst um die Verbindung kümmern?
Dann habe ich noch eine Frage zur Sichtbarkeit des im Konstruktor erzeugten mysqli-Objekts. Bisher ist dieses ja nur innerhalb des Konstruktors sichtbar, die anderen Methoden sollen ja allerdings auch Zugriff darauf haben. Muss ich also außerhalb des Konstruktors schon so etwas wie "$db = new Object()" deklarieren, welches ich dann innerhalb des Konstruktors mit mysqli initialisiere, oder was ist da die beste Lösung?
Danke schonmal
Kommentar