Zum Inhalt springen

$this-> [Noob-Frage]


Empfohlene Beiträge

Das Objekt ist db

getRow($sql) ist die Methode quasi die Funktion der du $sql mitübergibst!

Das Objekt db ist die Instanz einer Klasse die du angelegt hast, in der Klasse hast du dann die Methode getRow().

Du kannst nur auf die Methodde zugreifen wenn du vorher ein Instanz der Klasse eben das Objekt erstellst. Das $this-> ist eben die Referenz auf dieses Objekt ...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also im Grunde handelt es sich um n Objekt:

class myclass{
function foo($a){
return "Hallo ".$a
}
}[/php]

umd nun auf das ding zugreifen zu können und eine Ausgabe zu bekommen muss man eine instanz der klasse erzeugen

[php]$Klasse = new myclass();

und nun kann ich die funktion foo auch verwenden

$Klasse->foo("Holger");

der Pfeil sagt auf gut deutsch aus "foo ist ein teil von $Klasse" oder "foo ist in Klasse".

das mit dem $this ist dann, wenn du in der klasse etwas machen möchtest:

class person{
$name = "Max";
function setName1($name){
$name = $name;
}
function setName2($name){
$this->name = $name;
}
function getName(){
return $name;
}
}
}[/php]

So, Klassen gemacht, sollte selbsterklärend sein

Nun, das passiert:

[php]$klasse = new person();
$klasse->getName(); // Liefert Max
$klasse->setName1("Peter");
$klasse->getName(); // Liefert Max
$klasse->setName2("Peter");
$klasse->getName(); // Liefert Peter

Und das ist weil:

die funktion einen übergabeparameter $name hat, somit ist $name von der Klasse hier nicht gültig und $name = $name überschreibt sich die variable selbst. Durch das $this->name sag ich, das ich $name (übergabe) der Variable name aus der aktuellen Klasse zuweisen möchte.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi

Das Objekt ist db

getRow($sql) ist die Methode quasi die Funktion der du $sql mitübergibst!

Das ist nicht richtig.

db ist ein Attribut des aktuellen Objektes. Von Welcher Klasses dieses Objekt ist, ist aus den o.g. Codeschnipseln nicht erkenntlich!

aso!

$db = db_connect();

das ist ein Objekt??

also ist ->db = $db ??

nein, siehe letzte Antwort!

db_connect() gibt allen anschein nach ein Object zurück, welches dann auch in $db drinne steht. Aber es hat hier noch nichts mit dem $this->db zu tun!

aso!

Der Pfeil wird zum Beispiel bei Delphi mit nem Punkt ausgedrückt, ne??

also: Objekt.Methode();

Ja genau.

Frohe Weihnachten!

Gruß,

Markus

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...