# -> was macht dieser pfeil ?



## fluid (14. April 2002)

hi ich habe ne simple kleine frage *gg* ich sehe öfters in scripten


```
$this->date = time();
```

was macht dieser "pfeil" ich hab mal im buch nachgeschlagen aber das stand nix drin deshlab frag ich euch


----------



## KMX-Robin (14. April 2002)

Du weißt der object Variable "date" den Wert zu "time()".

Z.b. bei Klassen ..


```
class test
{
   var date = "";

   function SetDate()
   {
      $this->date = time();
   }
}

$test = new test;
$test->SetDate();
```
Das wäre z.b. ein Beispiel ..


----------



## fluid (14. April 2002)

hey danke das ging ja fix fürn neuling alles noch leicht verwirrend

thx 

cu fluid


----------



## Christian Fein (14. April 2002)

Ja das ist jetzt vom vorredner ein ultra crashcurs gewesen 

also der -> Operator kommt von C++ !
Hat dort die Bedeutung das auf Elemente von Verweistypen zugegriffen werden kann.
C++ unterscheidet hier aber zwischen zwei Operatoren 

Object.Methode()
und 
Object->Methode()

Das geht aber hier zuweit. PHP ist nicht C++. Ebenso ist das Objekt Orientierte Programmieren das PHP erlaubt nicht wirklich Objekt Orientiert sondern nur minimal OOP.

Also ich versuch mal eben ein Crashcourse in OOP in PHP zu geben.

Die gute Sache von OOP ist das du Daten (Variablen) und Methoden (Funktionen) um diese Daten zu behandeln mit einander "verbinden" kannst. Dies in sogenannten Klassen. 

Die Klasse ist eine Art Bauanleitung fuer ein eigensdefinierter Datentyp (ich nenns jetzt mal sallop = Supervariable)
Diese Supervariable wird Objekt genannt.
Ein kleines Beispiel fuer eine klasse


```
class Bruch
{
  var $zaehler;  
  var $nenner;
  
  function show()
  {
   echo $zaehler . "/" . $nenner;
  }
}
```

Damit habe ich einen Bauplan (Klasse) erstellt fuer eine Bruchzahl. Sie besitzt 2 Variablen (zaehler,nenner) und eine Methode (Funktion) um diesen Bruch schoen uebersichtlich anzuzeigen show()!

Ich kann nun aus der Klasse ein konkretes Objekt erstellen (also wird aus dem Bauplan eines Hauses ein Haus gebaut) 


```
$meinBruch = new Bruch;
```

Mein Objekt ($meinBruch) habe ich nun erstellt. Um auf die Elemente dieser "Supervariable" zuzugreifen zu koennen nutze ich nun den -> Operator

$meinBruch->zaehler = 2;
$meinBruch->nenner = 1;

Wenn ich nun dieses Objekt ausgeben will dann 
$meinBruch->show();

Ausgabe 
2/1 

Das tolle ist du kannst soviel Brueche erstellen wie du willst mit nur der einen Klasse !
Aber wie gesagt im PHP OOP fehlt zuviel wie :
Vererbung , Polymorphie .....

das mann es kein OOP nennen kann sondern einfach programmieren mit Klassen.


----------



## KMX-Robin (14. April 2002)

hehe .. jo, das ist eine ... ich würde sagen, perfekte antwort auf deine frage.


----------



## anonymouse (17. August 2010)

*Danke!*

Hey, ich hatte die gleiche Frage und möchte mich für die ausführliche Einweisung in die "objektorientiere Programmierung" bedanken.


----------



## EnricoX (18. August 2010)

Juhu endlich hab ich das auch mal verstanden, vielen Dank an den Christian Fein für das tolle Beispiel


----------

