Hallo,
ich bin grad dabei, mich in OOP einzuarbeiten. Jetzt hab ich dieses Problem, wo ich nicht weiter weiß bzw. wo ich was nicht ganz verstehe:
Das Programm was mir vorliegt ist erstmal nur prozedural programmiert. Es besitzt eine Bootstrap-Datei, in die abhängig vom Url-Paramater "site" die zugehörige Datei inkludiert wird (es wird vorher auf gültige Seiten mit Hilfe eines Arrays geprüft), wobei jede Datei eben für eine bestimmte Seite mit einer bestimmten Funktionalität steht (z.b. Profil bearbeiten, irgendwas aus der DB lesen, irgendwas bearbeiten usw...).
Die erste Frage, die sich mir hier stellt: macht es Sinn, diesen Ablauf objektorientiert zu machen? Ich kann z.B. nicht den Sinn erkennen, wenn ich z.B. statt einer config-Datei mit Arrays einfach eine Klasse habe (statisch oder später als Objekt)...wo ist da der Vorteil? es ist ja beides zentral...und objekte verbrauchen doch mehr Speicher und mahct ein Programm prinzipiell langsamer? Kann man überhaupt komplett OOP programmieren (in Bezug auf die Bootstrap-Datei)?
Eine andere Frage die ich noch habe:
ich möchte eine Art MailQueue programmieren (ich weiß das gibt es schon bei Pearl, aber es geht ums prinzip). Wenn ich z.B. einen Cronjob hab, der mehrere mails verschicken soll, soll die Mailqueue diesen Cronjob entlasten, indem die zu verschickenden Mails in der DB zwischengespeichert werden. ich hab also eine Klasse für die Mailqueue, erstelle eine Instanz dafür und übergebe einige Parameter etc. Jetzt die Frage: Wie lasse ich das Objekt optimalerweise etwas in der DB speichern? Mir fallen da mehrere Möglichkeiten ein:
- ich übergebe dem Mailqueue-Objekt eine Referenz auf das DB-Objekt
- ich übergebe dem Mailqueue-Objekt die Zugangsdaten für die DB und lasse es alles selber machen
- ich lasse die DB-Geschichte komplett aus der Mailqueue raus und erhalte als Rückgabewert nur ein Array in einem bestimmten Aufbau oder z.B. einen SQL-String
Was ist das sinnvollste?
Vielleicht hab ich noch nicht alle Konzepte der OOP verstanden, aber es wäre schön, wenn ihr mir da auf die Sprünge helfen könntet...
Gruß Daniel