Hallo liebe Leute.
Ich habe ein kleines verständnis Problem mit Klassen und Objekten.
Ich bin gerade dabei eine Adresseverwaltung zu schreiben.
Also habe ich auch dementsprechen eine Klasse Adressen und mit ein paar Methoden wie hinzufügen(), ändern(), löschen(), alleAdressen_ermitteln().
Beim Programmstart sollen alle Adressen ermittel werden. Also muss ich ja die Funktion alleAdressen_ermitteln() aufrufen.
Und da sind wir auch schon bei meinem Problem.
Ich wollte für jede Adresse ein Objekt öffnet, weil ich mich strickt an die OOP halten wollte.
Das Problem in PHP ist ja, dass man eine Funktion mit einem Objket aufrufen muss. Da habe ich mir gedacht, dass kann es doch nicht sein, weil extra ein Objekt zu erzeugen, welches nur für den Aufruf einer einer Funktion da ist. Also beschloss ich eine statische Funktion Funktion zu schreiben (alleAdressen_ermitteln()), welche dann ohne ein Objekt aufgerufen werden kann. Und da bin ich auch schon bei meinem nächsten Problem. Ich benutze die ADODB und in den einzelnen Klassen verwende ich die Objektreferenz des Datenbankobjektes, mit dem ich die Datenbankverbindung herstelle. Das Datenbankobjekt wird im Constructor mit übergeben und und als Membervariabel in den einzelnen Klassen gespeichert. Nur in meiner statischen Funktion kann ich ja jetzt nicht mehr mit $this arbeiten, weil eine statische Funktion das nicht zulässt. Also habe ich das Datenbankobjekt als global gesetzt. Meine Frage ist jetzt, ob ich das so machen kann oder ob das nicht im Sinne der OOP ist, dass ich bei machen Funktionen die Referenz des Datenbankobjektes benutze und halt bei statischen Funktionen das globale Datenbankobjekt?
Oder sehe ich das ganze völlig falsch, dass ich die statische Funktion in die Adressenklasse gepackt habe.
Die Funktion alleAdressen_ermitteln() soll für jeden Adressedatensatz ein Objekt erzeugen (innerhalb der Klasse).
Weil eigentlich sollen doch nur Funktionen in eine Klasse, die von den Objekten benutzt werden und auf die Attributwerte der einzelnen Objekte zugreifen?!
Wäre echt super, wenn Ihr mir einen kleinen Tip geben könnten.
Bin schon ein wenig durcheinander mit den ganze Kramm:-)
Ich danke Euch schon mal im Voraus
MFG Glombi
Ich habe ein kleines verständnis Problem mit Klassen und Objekten.
Ich bin gerade dabei eine Adresseverwaltung zu schreiben.
Also habe ich auch dementsprechen eine Klasse Adressen und mit ein paar Methoden wie hinzufügen(), ändern(), löschen(), alleAdressen_ermitteln().
Beim Programmstart sollen alle Adressen ermittel werden. Also muss ich ja die Funktion alleAdressen_ermitteln() aufrufen.
Und da sind wir auch schon bei meinem Problem.
Ich wollte für jede Adresse ein Objekt öffnet, weil ich mich strickt an die OOP halten wollte.
Das Problem in PHP ist ja, dass man eine Funktion mit einem Objket aufrufen muss. Da habe ich mir gedacht, dass kann es doch nicht sein, weil extra ein Objekt zu erzeugen, welches nur für den Aufruf einer einer Funktion da ist. Also beschloss ich eine statische Funktion Funktion zu schreiben (alleAdressen_ermitteln()), welche dann ohne ein Objekt aufgerufen werden kann. Und da bin ich auch schon bei meinem nächsten Problem. Ich benutze die ADODB und in den einzelnen Klassen verwende ich die Objektreferenz des Datenbankobjektes, mit dem ich die Datenbankverbindung herstelle. Das Datenbankobjekt wird im Constructor mit übergeben und und als Membervariabel in den einzelnen Klassen gespeichert. Nur in meiner statischen Funktion kann ich ja jetzt nicht mehr mit $this arbeiten, weil eine statische Funktion das nicht zulässt. Also habe ich das Datenbankobjekt als global gesetzt. Meine Frage ist jetzt, ob ich das so machen kann oder ob das nicht im Sinne der OOP ist, dass ich bei machen Funktionen die Referenz des Datenbankobjektes benutze und halt bei statischen Funktionen das globale Datenbankobjekt?
Oder sehe ich das ganze völlig falsch, dass ich die statische Funktion in die Adressenklasse gepackt habe.
Die Funktion alleAdressen_ermitteln() soll für jeden Adressedatensatz ein Objekt erzeugen (innerhalb der Klasse).
Weil eigentlich sollen doch nur Funktionen in eine Klasse, die von den Objekten benutzt werden und auf die Attributwerte der einzelnen Objekte zugreifen?!
Wäre echt super, wenn Ihr mir einen kleinen Tip geben könnten.
Bin schon ein wenig durcheinander mit den ganze Kramm:-)
Ich danke Euch schon mal im Voraus
MFG Glombi
Kommentar