-> was macht dieser pfeil ?

fluid

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

PHP:
$this->date = time();

was macht dieser "pfeil" ich hab mal im buch nachgeschlagen aber das stand nix drin deshlab frag ich euch :)
 
Du weißt der object Variable "date" den Wert zu "time()".

Z.b. bei Klassen ..

PHP:
class test
{
   var date = "";

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

$test = new test;
$test->SetDate();
Das wäre z.b. ein Beispiel ..
 
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

PHP:
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)

PHP:
$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.
 
Danke!

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