Damit erzeugt man eine Referenz auf ein Objekt.
Dabei handelt es sich um eine Art von Hinweis, den PHP zur Steuerung benötigt.
Diese Referenz legt man dann in einer Variablen ab, damit man später darauf zugreifen kann.
Ach ja, man kann die entsprechende Klasse ohne Klammern aufrufen, wenn man keine Parameter für den so genannten Konstruktor übergeben möchte.
class Mensch
{
...
}
$dieter = new Mensch;
$doerte = new Mensch;
Damit wurden zwei Objekte aus der Klasse Mensch erzeugt. Auf die Eigenschaften und Methoden zugreifen:
2. Die Sache mit den Pfeilen
Soll ein Objekt auf Methoden oder Eigenschaften "seiner" Klasse zugreifen, so geschieht dies mit ->.
class Mensch
{
var $geschlecht;
function pflegHaushalt()
{
...
}
}
$dieter = new Mensch;
$dieter -> geschlecht = 'Mann';
$doerte = new Mensch;
$doerte -> pflegHaushalt();
Was haben wir jetzt getan? Zuerst mal dem Objekt $dieter ein Geschlecht verpasst. Und das Objekt $doerte, dem noch kein Geschlecht zugeordnet wurde, kümmert sich um ihren Haushalt. Mann, bin ich ein Sexist. Darum leiste ich jetzt schon mal Abbitte bei allen Damen, die sich hierhin verirrt haben. Denn es kommt noch schlimmer.
Wichtig
Wenn man auf eine Eigenschaft zugreifen möchte, so darf man nicht mit dem $-Zeichen arbeiten! Das hat einen ganz bestimmten Grund, zu dem ich anschließend komme. Um nun das Konzept zu verstehen, solltet ihr hinter obigen Code mal ein print_r($dieter) setzen. Dann bekommt ihr ein Mensch Object ( [geschlecht] => Mann ) zurückgeliefert. Ihr seht also, dass Dieter ein Objekt vom "Typ" Mensch ist und dessen Eigenschaft geschlecht "Mann" ist. Spielt mal ein wenig mit Dörte herum, dann werdet ihr die möglichen Unterschiede selber kennen lernen.
3. $this
Wenn zum Beispiel eine Klasse auf seine eigenen Eigenschaften und Methoden zugreifen möchte, so wird neben der oben beschriebenen Pfeilnotation noch ein $this benötigt. Dabei handelt es sich genau genommen, um einen Verweis auf das eigene Objekt und dessen Methoden und Eigenschaften. Wenn nun eine Klasse so konzipiert ist, dass man die Eigenschaften eines Objektes über Methoden zuweisen kann, so sieht das zum Beispiel so aus.
class Mensch
{
var $geschlecht;
function setzGeschlecht($var)
{
$this -> geschlecht = $var;
}
}
$doerte = new Mensch;
$doerte -> setzGeschlecht('Frau');
Jetzt haben wir aus Dörte eine Frau gemacht. Nein! Nicht das, was ihr schon wieder denkt. Über die Methode setzGeschlecht hat das Objekt $doerte seine eigene(!) Eigenschaft geschlecht gesetzt. Und da dies innerhalb der Klasse geschah, wurde das $this benutzt. Es gibt da noch weitere Möglichkeiten, aber die kommen später.