Buhuu: wie heisst / was bedeutet "->"

Ich brauche mal den Namen von dem PHP-Befehl ->
Ich sehe den oft, weiß aber gar nicht was der macht oder wie er heisst. Ist das nur eine Wertzuweisung. Unter Zuweisungoperator ist er aber nicht in php.

$this->data = $_POST + $_GET;

Was rechts steht ist erst mal egal.
Und links: ist $this keine normale Variable?

  1. Hi,

    Ich brauche mal den Namen von dem PHP-Befehl ->

    Disen Operator benutzt Du, um auf Eigenschaften oder Methoden von Klassen oder Objekten zuzugreifen.

    Und links: ist $this keine normale Variable?

    this zeigt innerhalb einer Klasse/Objekt auf die Klasse/Objekt selber.
    Mehr dazu hier: http://www.php.net/manual/de/language.oop5.basic.php

    Gruesse, Joachim

    --
    Am Ende wird alles gut.
    1. Hi!

      Ich brauche mal den Namen von dem PHP-Befehl ->
      Disen Operator benutzt Du, um auf Eigenschaften oder Methoden von Klassen oder Objekten zuzugreifen.

      Klasse ist kein Synonym für Objekt und umgekehrt. Klassen sind quasi die Baupläne, Objekte die danach gefertigten Dinge. Mit -> greift man auf Objekteigenschaften zu. Objekteigenschaften sind Variablen, die direkt dem Objekt gehören und nur ihm selbst. Es gibt aber auch Klassenvariablen, die direkt der Klasse zugeordnet sind, und da es diese Klasse selbst nur einmal pro Programm gibt, sind diese Klassenvariablen auch nur einmal vorhanden und nicht etwa pro Objekt eine eigene. Auf Klassenvariablen greift man mit :: zu.

      Und links: ist $this keine normale Variable?
      this zeigt innerhalb einer Klasse/Objekt auf die Klasse/Objekt selber.

      Nur Objekt, nicht auch noch Klasse.

      Wenn es eine Klasse gibt, die Code für Datenbankabfragen enthält, dann stellt ein Objekt davon jeweils eine individuelle Abfrage dar. Jede Abfrage hat ihre eigene Ergebnismenge erzeugt. Diese muss individuell abgelegt werden, wofür eine Objektvariablen geeignet ist.

      Im Allgemeinen ist es nicht sinnvoll, mehrere Verbindungen zum DBMS aufzubauen oder sie pro Abfrage auf- und wieder abzubauen. Deshalb ist es günstig, dass solch eine Verbindung nur einmal existiert. Legt man sie in einer Klassenvariable ab, hat man sie aufgräumt an einem Ort und alle Instanzen/Objekte können darauf zugreifen.

      Lo!

      1. Vielen Dank für Eure Antworten.
        Es ist dann doch wohl mal an der Zeit sich mit einigen Grundlagen zu beschäftigen :) (nach 1,5 Jahren)