Mailinglisten-Archive |
Frage vorweg: Kann man Objekte in Sessionvariablen packen um Speicher zu sparen? >der Sinn entfaltet sich doch erst wenn man mehrere Objekte gleichzeitig hat. >Ich komm einfach nicht von Funktionen und Arrays weg. Oder ist es einfach >nur eine andere Art zu programmieren? Oder kann ich damit irgendwas machen >was ich vorher nicht konnte? > >Sorry, Anfängerfragen :) Bitte verbessern, wenn Denkfehler drin sind: Nehmen wir mal an, du baust dir ein Programm mit einer Vielzahl von Funktionen. Du nimmst bereits Funktionen, weil du dir arbeit sparen willst. Nun klatschst du alle Funktionen in eine Datei und includest diese jedes Mal, auch wenn du nur eine der 500 Funktionen brauchst. Wenn du nun auf Variablen, die aus anderen Funktionen resultieren, rankommen willst, musst du diese entweder "globalisieren" oder mit in die Funktion geben. Hier zwei Vorteile nun von OOP: 1. Du kannst dir mehrere spezialisierte Klassen bauen, die wiederum Funktionen (Die heißen in Klassen dann Methoden) enthalten. Die Klassen können dabei auch aufeinander aufbauen. Klassendefinition: class Küche class Bad class Kühlschrank extends Küche class Klo extends Bad Class Klostein extends Klo { Wenn du nun die Klasse 'Klostein' instanziierst, hast du gleichzeitig Zugriff auf die Methoden von Klostein, Klo und Bad. Die Methoden rund um die Küche werden gar nicht betrachtet und nicht in den Speicher geladen. 2. Bauen wir nun mal die Klasse Klostein: Class Klostein extends Klo { var $klosteincolor; function set_klostein_color( $color ) { $this->klosteincolor = $color; } } $class = &new Klostein(); $class->set_klostein_color( "red" ); echo $class->klosteincolor; Wenn du die Methode set_klostein_color( "red" ) aufrufst, kannst du nun ohne weiter Klimmzüge, auf die Variable "klosteincolor" von überall im Objekt zugreifen. Kurz gesagt: Alles wird übersichtlicher und es spart arbeit. Ist aber nur sinnvoll bei größeren Projekten. matze
php::bar PHP Wiki - Listenarchive