OOP mit PHP5

Mir entzieht sich irgendwie der Sinn, warum man ein komplett auf PHP5-basierendes Projekt schon vorgesetzt bekommen möchte - Der Lerneffekt wäre irgendwie gleich null.
In Sachen Tutorials finde ich sogar die PHP-Doku sehr aufschlussreich, und wenn mal doch ein Wort unklar ist, wie zB Interface oder Überladungen, kann man auch gerne mal schauen, was C++ Hilfen dazu meinen.

Und damit ich auch noch mit einem Link aufwarten kann, empfehle ich mein Lieblingsframework (made by Zend) - Baut vollständig auf PHP5 auf, ist aber kein vorgefertigtes Projekt. Besonders die View-Klasse hat es mir irgendwie angetan.

Zur Geschichte "public" vs "protected" vs "private": Ich weiß nicht, wie viele Leute das Wort "objektorientiert" ernst nehmen, die alle Eigenschaften eines Objekts publik maskieren, nur weil sie denken, dass eh nur sie darauf Zugriff hätte :rolleyes: Klar ist es einfacher, die Eigenschaften immer direkt, auch von außen, anzuwählen, aber was ist denn, wenn man nun wirklich mal ein paar Änderungen vornimmt, die man durch eine Set- oder Get-Methode viel einfacher und produktiver hätte umsetzen können?
Mal abgesehen davon, dass es im Falle einer einzigen Anwendung des Objekts von einem einzigen Anwender keinen Unterschied macht, ob public oder private, habe ich schon so oft Klassen geschrieben, deren Eigenschaften in einem Resultat enden müssen - Und da überprüfe ich lieber gleich bei der Eingabe, ob diese auch korrekt ist, und forme mir diese so, wie ich es möchte, als das dann final nochmal hin- und herzuschrauben. Einfaches Beispiel: In meiner FileUpload Klasse kann ich ein Ziel-Verzeichnis bestimmen, welches ich über eine passende set-Methode erstmal auf Existenz überprüfe. Das verschafft mir die Möglichkeit, es entweder noch zu erstellen oder eine Exception zu werfen oder eine andere Warnung auszugeben. Gleiches gilt für das Setzen des Dateinamen: Über ein preg_match wird überprüft, ob der gewünschte Dateiname valide ist, ansonsten wird wieder mit Steinen geworfen.
Würde ich das alles von außen über zB $upload->_directory = '/dieses/verzeichnis/existiert/nicht/ setzen, hätte ich beim endgültigen Upload-Befehl einige Probleme, die über den korrekteren Einsatz von OOP umgangen werden können.
 
Ja von dem ursprünglichem Eröffner des Beitrages der das wollte sind wir ja schon thematisch ziemlich abgegangen, ich lerne sowieso ausschließlich praktisch, also kapier ichs meist erst wirklich, wennichs wirklich brauch.

Und was man anderen zugänglich macht und was nicht, muss man sich letztendlich sowieso untereinander ausreden, weil mit den Anforderungen an eine Klasse kommen ihre Methoden.

Und wie du darauf kommst ich würde die Eigenschaften von außen anwählen weiß ich nicht. Ich bin absolut kein Fan davon Variabeln einer Instanz extern direkt zu setzen, ich finde eine gute Klasse liefert für das was sie kann ausdrücklich Methoden die das erledigen.
 
Nur habe ich mal gehört, dass wenn man wirklich OOP macht, dass dann quasie alles nur noch mit Klassen gemacht wird und es keinen Code mehr ohne Klassen gibt. Sowas suche ich halt, da ich mir derzeit nicht vorstellen kann wie sowas aussieht/aussehn könnte.Ich hoffe das ist verständlich.

schau dir mal das Zend-Framework mit seinem FrontController und schau mal ob du Beispiel-Anwendungen findest, da hast du wirklich nur noch Klassen, einfach 1a.
wird sich höchstwahrscheinlich auch als Quasi-Standard etablieren und viele Pear-Packages ablösen, zieht ja trotz seinem geringen Alter schon sehr große Kreise.
 
Hi!
Ich soll PHP-Skripte überprüfen bzw. "auf PHP5 updaten"(unter Apache und MySQL). Da ich noch ein relativer Anfänger bin: hat jemand einen Tipp wie ich da am besten vorgehe Also wie/vorher ich seh was ich ändern muss, was ich ändern kann, etc(was sind must have und was can have).. Onlinemanuals durchforsten und mich a la "try- and- error"-Prinzip probieren?
 
Na als Anfänger wirst du (sry) da eh nix hinbekommen ^^
Und portieren muss man PHP4-Anwendungen auf PHP5 nicht, denn PHP5 ist abwärtskompatibel, einfach einmal alls durchtesten und fertig, hatte bisher nur einmal nen Problem, wo was nicht abwärtskompatibel war, das war aber auch ein dreckiger Code in der Kundensoftware ^^
 
Kannst du mir dann kurz erklären oder einen Link geben(habe bereits hier die Suche und google.de beansprucht)was eine "doppelte Funktionsinitialisierung" ist? Ist das praktisch wenn Variablen doppelt initialisiert werden(was man ja nicht sollte)?
Auch steht in der Aufgabenstellung was mit der methode set_doerror: habe dazu mit der Suche und Manuals von PHP nichts gefunden..weiß jemand was es damit auf sich hat?
Ich soll nämlich die Skripte durchschauen und diese doppelten Initialisierung ausschließen; unter anderem.
 
Zurück