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