Benutzer-Werkzeuge

Webseiten-Werkzeuge


php:oop

Dies ist eine alte Version des Dokuments!


OOP - Objektorientierte Programmierung in PHP 5

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/oop.1425650301.txt.gz · Zuletzt geändert: 2015/12/19 00:00 (Externe Bearbeitung)