SELFPHP

SELFPHP-Druckversion
Original Adresse dieser Seite:
http://www.selfphp.de/praxisbuch/praxisbuchseite.php?site=88&group=21
© 2001-2017 E-Mail SELFPHP OHG, info@selfphp.de
© 2005-2017 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


Objekte


Objekte gehören dem PHP-Datentyp Object an. Ein Objekt ist eine Sammlung benannter Daten. Die Namen dieser Datenelemente werden als Eigenschaften, Attribute oder Properties des Objekts bezeichnet. Einige sprechen auch von den Feldern des Objekts. Diese Benennung kann jedoch zu Verwirrung führen, da es Felder (Arrays) auch als eigenständigen Datentyp gibt. Sie sollten daher eine der ersten drei Benennungen verwenden. Um die Eigenschaft eines Objekts anzusprechen, sprechen wir zunächst das Objekt an, setzen dahinter ein -> und fügen anschließend den Namen der Eigenschaft an.

Beispiel

$meinRechner->hersteller
$meinRechner->cpu

Hier haben wir ein Objekt namens $meinRechner mit den Eigenschaften hersteller und cpu. Die Eigenschaften von Objekten verhalten sich dabei in PHP wie Variablen. Sie können alle Datentypen enthalten, einschließlich Arrays, Funktionen und anderer Objekte. Wie bereits erwähnt, wird eine Funktion, die als Eigenschaft eines Objekts gespeichert ist, oft auch als Methode bezeichnet. Um eine Methode eines Objekts aufzurufen, benutzen Sie wiederum die Schreibweise mit dem ->, um den Funktions-Datenwert in dem Objekt ansprechen zu können.

Beispiel

$meinRechner->starten();

Ich will Ihnen noch ein lauffähiges Beispiel für die aufgeführten Eigenschaften der Funktion mit auf den Weg geben:

<?php
/*
Klasse (class)
Definiert Eigenschaften, Methoden und Funktionen
einer Gruppe von Objekten
*/
class Rechner {

  public $cpu;
  public $hersteller;

  function __construct($taktrate,$unternehmen)
  {
    $this->cpu = $taktrate;
    $this->hersteller = $unternehmen;
  }

  function starten()
  {
    echo "Rechner gestartet!";
  }

  //Irgendwie muss PHP ja wissen, wie es dein Objekt
  //ausgeben soll...
  function __toString()
  {
    return "Rechner";
  }

}

// Objekt erzeugen
$meinRechner = new Rechner(2000,"Intel");

// Ausgabe – Object id #1
echo $meinRechner;
// Ausgabe – Intel
echo $meinRechner->hersteller;
// Ausgabe – Rechner gestartet!
echo $meinRechner->starten();
?>