Hello out there.
Ich habe vor mein neues Projekt komplett objekorientiert zu halten.
Allerdings stoße ich dort auf Probleme.
Urpsprünglich wollte ich zum Beispiel eine Datenbankklasse haben die sämtliche Datenbank-Methoden enthalten sollte erstellen.
Unter Verwendung von MySQLi, sollen auch prepared Statements dynamisch erstellt werden können.
Nun. prepare() braucht aber zum Beispiel das erstellte Datenbankobjekt.
Also war mir schonmal klar, die erweiterten DB-Funktionen und die Haupt-DB-Funktionen(connect, close z.B.) können nicht in einer Klasse stehen.
Da aber alle Klassen die DB-Methoden haben müssen, sprich erben werden und PHP nur eine einzige Vererbung pro Klasse _direkt_ zulässt, habe ich mich dazu entschlossen eine "Main_Class" zu erstellen die in jede Klasse eingebunden wird.
Das ganze sieht also so aus:
KLASSE erbt von Main_Class erbt von "weitere_DB_Funktionen" erbt von "Haupt-DB-Funktionen"
Allerdings finde ich das extrem umständlich und unsauber.
Vor allem weiß ich garnicht mehr wo das DB-Objekt erstellt werden soll.
Ich nehme man in der index.php werde ich das oben tun oder in der Main_Class.
Desweiteren müssen alle "Standard-Funktionen", sprich Funktionen die ich mir erstellen werde die man öfters mal braucht wie z.B. "requests2array", "timestamp2date" - die Namen sind wohl selbsterklärend, in der Main_Class stehen.
Aus der vermeintlich durch OOP erwünschter Ordnung entsteht meiner Ansicht nach ein Chaos und mir fällt es schwer das Projekt gerecht zu planen.
Ich hoffe ihr könnt mir Ratschläge, Beispiele, Hilfe und vielleicht ein wenig Motivation geben, das ganze so "modern" umzusetzen. Übersichtlich und dennoch möglichst performant.
Liebe Grüße,
Chris