Mailinglisten-Archive |
Aloha, > Von: Mailanbecker[SMTP:mailanbecker_(at)_gmx.net] > > > $this ist keine Variable, sondern ein "Hilfsdings", das auf > > die aktuelle Klasse zeigt. > > Also würde in meinem Fall auch mehr Speicher anfallen, da die gesamt > Klasse > in $Obj geladen wird? > Das hat nichts miteinander zu tun. Bsp: class Auto { var $sFarbe = 'rot'; function SetzeFarbe($sFarbe){ if ( $sFarbe == '' ) { $this->Fehler('Keine Farbe angegeben'); } else { $this->sFarbe = $sFarbe; } } function Fehler($sText){ echo 'Folgender Fehler ist aufgetreten: '.$sText; } } $oAuto = new Auto; echo $oAuto->sFarbe; # rot $oAuto->SetzeFarbe('schwarz'); echo $oAuto->sFarbe; # schwarz $oAuto->SetzeFarbe(); # liefert Fehler Mit $this werden !IN! einer Klasse die Klasseneigenen Methoden aufgerufen (Fehler, SetzeFarbe) ODER die Klasseneigenen Variablen angesprochen. ($sFarbe). Von !AUSSEN! werden die Methoden/Variablen über die Objecthandles (hier $oAuto) angesprochen... > Ich hab $Obj bis jetzt auch nur als Pointer gesehen, also als Zeiger der > auf > der jeweiligen Klasse liegt. > Naja das triffts eher :) > $CONF ist nen array mit allen Configurationen und für den globalen > übergang > habe ich ebenfalls einen Pointer drauf zeigen lassen. > Ah .... ok. Dann muss aber $Obj bei dir irgendwo auch noch erzeugt werden .... das fehlte etwas .... und Tipp: $Obj->CONF = $aConf; # hätte erklärt, daß da ein Array ankommt ;) Grüße, Mathias
php::bar PHP Wiki - Listenarchive