Benutzer-Werkzeuge

Webseiten-Werkzeuge


php:magische_methoden

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
php:magische_methoden [2015/03/19 12:14]
webproducer angelegt
php:magische_methoden [2015/12/19 00:00] (aktuell)
Zeile 1: Zeile 1:
-==== Magische Methoden ====+====== Magische Methoden ​======
  
-Die sogenannten "​Magischen Methoden"​ können innerhalb von Klassen angewendet werden.+Die sogenannten "​Magischen Methoden"​ können innerhalb von PHP-Klassen angewendet werden.
  
-=== Funktion "​construct"​ ===+===== Funktion "​construct" ​=====
  
 Der Konstruktur wird beim Erstellen eines Objektes angelegt. Der Konstruktur wird beim Erstellen eines Objektes angelegt.
  
- function __construct() +<code php> 
-+function __construct() 
- echo "<​p>​Objekt wird angelegt</​p>";​ +
- }+ echo "<​p>​Objekt wird angelegt</​p>";​ 
 +} 
 +</​code>​
  
-=== Funktion "​call"​ ===+===== Funktion "​call" ​=====
  
 Diese Methode wird aufgerufen, wenn die angesprochene Methode nicht vorhanden ist. Diese Methode wird aufgerufen, wenn die angesprochene Methode nicht vorhanden ist.
  
- function __call( $methode, $parameter ) +<code php> 
-+function __call( $methode, $parameter ) 
- echo "<​p>​Methode '​$methode'​ nicht vorhanden</​p>";​ +
- }+ echo "<​p>​Methode '​$methode'​ nicht vorhanden</​p>";​ 
 +} 
 +</​code>​
  
-=== Funktion "​get"​ ===+===== Funktion "​get" ​=====
  
 Wenn eine nicht exisiterende Objekt-Variable ausgelesen werden soll, wird die Methode "​get"​ ausgeführt. Wenn eine nicht exisiterende Objekt-Variable ausgelesen werden soll, wird die Methode "​get"​ ausgeführt.
  
- function __get( $var )  +<code php> 
-+function __get( $var )  
- echo "<​p>​Variable '​$var'​ kann nicht ausgelesen werden.</​p>";​ +
- }+ echo "<​p>​Variable '​$var'​ kann nicht ausgelesen werden.</​p>";​ 
 +} 
 +</​code>​
  
-=== Funktion "​set"​ ===+===== Funktion "​set" ​=====
  
 Wenn eine nicht existierende Objekt-Variable gesetzt werden soll, wird die Methode "​set"​ ausgeführt. Wenn eine nicht existierende Objekt-Variable gesetzt werden soll, wird die Methode "​set"​ ausgeführt.
  
- function __set( $var, $wert ) +<code php> 
-+function __set( $var, $wert ) 
- echo "<​p>​Variable '​$var'​ kann nicht gesetzt werden.</​p>";​ +
- }+ echo "<​p>​Variable '​$var'​ kann nicht gesetzt werden.</​p>";​ 
 +} 
 +</​code>​
  
-=== Funktion "destruct" ===+===== Funktion "toString" ​=====
  
-Der Destructor ​wird aufgerufen, wenn das Objekt ​nicht mehr angesprochen oder mit "unset ( $object )" vernichet ​wird.+Mit der toString()-Methode kann festgelegt werden, was ausgegeben ​wird, wenn das Objekt ​als Zeichenkette angefordert ​wird.
  
- function ​__destruct() +<code php> 
- {  +function ​__toString() 
- echo "<​p>​Objekt wird vernichtet</p>"; +
- }+ return ​"Jetzt bin ich eine Zeichenkette!";​ 
 +
 +</code> 
 + 
 +===== Funktion ​"destruct"​ ===== 
 + 
 + 
 +Der Destructor wird aufgerufen, wenn das Objekt nicht mehr angesprochen oder mit "unset ( $object )" vernichet wird.
  
 +<code php>
 +function __destruct()
 +
 + echo "<​p>​Objekt wird vernichtet</​p>";​
 +}
 +</​code>​
 ---- ----
  
-//Beispiel//+==== Beispiel ​====
  
 +<code php>
  class abc  class abc
  {  {
Zeile 59: Zeile 81:
  echo "<​p>​Objekt wird angelegt</​p>";​  echo "<​p>​Objekt wird angelegt</​p>";​
  }  }
 +
  function __call( $methode, $parameter )  function __call( $methode, $parameter )
  {  {
Zeile 64: Zeile 87:
  echo "<​p>​Methode '​$methode'​ nicht vorhanden</​p>";​  echo "<​p>​Methode '​$methode'​ nicht vorhanden</​p>";​
  }  }
 +
  function __get( $var )   function __get( $var ) 
  {  {
Zeile 69: Zeile 93:
  echo "<​p>​Variable '​$var'​ kann nicht ausgelesen werden.</​p>";​  echo "<​p>​Variable '​$var'​ kann nicht ausgelesen werden.</​p>";​
  }  }
 +
  function __set( $var, $wert )  function __set( $var, $wert )
  {  {
Zeile 74: Zeile 99:
  echo "<​p>​Variable '​$var'​ kann nicht gesetzt werden.</​p>";​  echo "<​p>​Variable '​$var'​ kann nicht gesetzt werden.</​p>";​
  }  }
 +
  function __destruct()  function __destruct()
  
Zeile 80: Zeile 106:
  }  }
  }  }
 +
  $test = new abc; // Ergebnis: "​Objekt wird angelegt"​  $test = new abc; // Ergebnis: "​Objekt wird angelegt"​
- $test->unbekannteMethode(); // Ergebnis: "​Methode 'unbekannteMethode' nicht vorhanden"​ + echo $test; // Ergebnis: Jetzt bin ich eine Zeichenkette! 
- $test->unbekannteVariable; // Ergebnis: "​Variable 'unbekannteVariable' kann nicht ausgelesen werden."​ + $test->bla(); // Ergebnis: "​Methode 'bla' nicht vorhanden"​ 
- $test->unbekannteVariable ​= "​Hallo";​ // Ergebnis: "​Variable 'unbekannteVariable' kann nicht gesetzt werden."​+ $test->bla; // Ergebnis: "​Variable 'bla' kann nicht ausgelesen werden."​ 
 + $test->bla = "​Hallo";​ // Ergebnis: "​Variable 'bla' kann nicht gesetzt werden."​
  // "​Objekt wird vernichtet"​  // "​Objekt wird vernichtet"​
 +</​code>​
  
php/magische_methoden.1426763694.txt.gz · Zuletzt geändert: 2015/12/19 00:00 (Externe Bearbeitung)