Benutzer-Werkzeuge

Webseiten-Werkzeuge


php:magische_methoden

Dies ist eine alte Version des Dokuments!


Magische Methoden

Die sogenannten „Magischen Methoden“ können innerhalb von 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 "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"
$test->unbekannteMethode(); // Ergebnis: "Methode 'unbekannteMethode' nicht vorhanden"
$test->unbekannteVariable; // Ergebnis: "Variable 'unbekannteVariable' kann nicht ausgelesen werden."
$test->unbekannteVariable = "Hallo"; // Ergebnis: "Variable 'unbekannteVariable' kann nicht gesetzt werden."
// "Objekt wird vernichtet"
php/magische_methoden.1426763694.txt.gz · Zuletzt geändert: 2015/12/19 00:00 (Externe Bearbeitung)