function __construct()
{
echo "Objekt wird angelegt
";
}
===== Funktion "call" =====
Diese Methode wird aufgerufen, wenn die angesprochene Methode nicht vorhanden ist.
function __call( $methode, $parameter )
{
echo "Methode '$methode' nicht vorhanden
";
}
===== Funktion "get" =====
Wenn eine nicht exisiterende Objekt-Variable ausgelesen werden soll, wird die Methode "get" ausgeführt.
function __get( $var )
{
echo "Variable '$var' kann nicht ausgelesen werden.
";
}
===== Funktion "set" =====
Wenn eine nicht existierende Objekt-Variable gesetzt werden soll, wird die Methode "set" ausgeführt.
function __set( $var, $wert )
{
echo "Variable '$var' kann nicht gesetzt werden.
";
}
===== Funktion "toString" =====
Mit der toString()-Methode kann festgelegt werden, was ausgegeben wird, wenn das Objekt als Zeichenkette angefordert wird.
function __toString()
{
return "Jetzt bin ich eine Zeichenkette!";
}
===== Funktion "destruct" =====
Der Destructor wird aufgerufen, wenn das Objekt nicht mehr angesprochen oder mit "unset ( $object )" vernichet wird.
function __destruct()
{
echo "Objekt wird vernichtet
";
}
----
==== Beispiel ====
class abc
{
function __construct()
{
// Dieser Konstruktur wird beim Erstellen des Objektes angelegt
echo "Objekt wird angelegt
";
}
function __call( $methode, $parameter )
{
// wird aufgerufen, wenn die angesprochene Methode nicht vorhanden ist
echo "Methode '$methode' nicht vorhanden
";
}
function __get( $var )
{
// wenn $var nicht ausgelesen werden kann
echo "Variable '$var' kann nicht ausgelesen werden.
";
}
function __set( $var, $wert )
{
// wenn $var nicht mit dem Wert $wert gesetzt werden kann
echo "Variable '$var' kann nicht gesetzt werden.
";
}
function __destruct()
{
// wird beim unset ( $object ); oder am Ende des Scriptes ausgeführt
print "Objekt wird vernichtet
";
}
}
$test = new abc; // Ergebnis: "Objekt wird angelegt"
echo $test; // Ergebnis: Jetzt bin ich eine Zeichenkette!
$test->bla(); // Ergebnis: "Methode 'bla' nicht vorhanden"
$test->bla; // Ergebnis: "Variable 'bla' kann nicht ausgelesen werden."
$test->bla = "Hallo"; // Ergebnis: "Variable 'bla' kann nicht gesetzt werden."
// "Objekt wird vernichtet"