Benutzer-Werkzeuge

Webseiten-Werkzeuge


php:magische_methoden

Magische Methoden

Die sogenannten „Magischen Methoden“ können innerhalb von PHP-Klassen angewendet werden.

Funktion "construct"

Der Konstruktur wird beim Erstellen eines Objektes angelegt.

function __construct()
{
	echo "<p>Objekt wird angelegt</p>";
}

Funktion "call"

Diese Methode wird aufgerufen, wenn die angesprochene Methode nicht vorhanden ist.

function __call( $methode, $parameter )
{
	echo "<p>Methode '$methode' nicht vorhanden</p>";
}

Funktion "get"

Wenn eine nicht exisiterende Objekt-Variable ausgelesen werden soll, wird die Methode „get“ ausgeführt.

function __get( $var ) 
{
	echo "<p>Variable '$var' kann nicht ausgelesen werden.</p>";
}

Funktion "set"

Wenn eine nicht existierende Objekt-Variable gesetzt werden soll, wird die Methode „set“ ausgeführt.

function __set( $var, $wert )
{
	echo "<p>Variable '$var' kann nicht gesetzt werden.</p>";
}

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 "<p>Objekt wird vernichtet</p>";
}

Beispiel

	class abc
	{
		function __construct()
		{
			// Dieser Konstruktur wird beim Erstellen des Objektes angelegt
			echo "<p>Objekt wird angelegt</p>";
		}
 
		function __call( $methode, $parameter )
		{
			// wird aufgerufen, wenn die angesprochene Methode nicht vorhanden ist
			echo "<p>Methode '$methode' nicht vorhanden</p>";
		}
 
		function __get( $var ) 
		{
			// wenn $var nicht ausgelesen werden kann
			echo "<p>Variable '$var' kann nicht ausgelesen werden.</p>";
		}
 
		function __set( $var, $wert )
		{
			// wenn $var nicht mit dem Wert $wert gesetzt werden kann
			echo "<p>Variable '$var' kann nicht gesetzt werden.</p>";
		}
 
		function __destruct()
		{ 
			// wird beim unset ( $object ); oder am Ende des Scriptes ausgeführt
			print "<p>Objekt wird vernichtet</p>";
		}
	}
 
	$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"
php/magische_methoden.txt · Zuletzt geändert: 2015/12/19 00:00 (Externe Bearbeitung)