Benutzer-Werkzeuge

Webseiten-Werkzeuge


php:oop

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
php:oop [2015/03/06 14:58]
webproducer angelegt
php:oop [2016/09/07 00:00] (aktuell)
Zeile 1: Zeile 1:
-===== OOP - Objektorientierte ​Programmierung in PHP 5 =====+===== OOP - objektorientierte ​Programmierung in PHP 5/7 =====
  
-==== Magische Methoden ​====+==== Die drei grundlegenden Regeln ​====
  
-Die sogenannten "​Magischen Methoden"​ können innerhalb von Klassen angewendet ​werden.+Bei der objektorientierten Programmierung sollten diese drei grundlegenden Regeln in der angegebenen Reihenfolge beachtet ​werden:
  
-=== Funktion "​construct"​ ===+  - Wartbarkeit 
 +  - Wiederverwendbarkeit 
 +  - Geschwindigkeit
  
-Der Konstruktur wird beim Erstellen eines Objektes angelegt.+**Wartbarkeit**\\ 
 +Der Programmcode sollte so geschrieben werden, dass sich jederzeit ein weiterer Programmierer ohne großen Zeitaufwand hierin einlesen, Fehler beeheben und auch erweitern kann. 
 +Außerdem ist bei der Programmierung zu beachten, dass man sich selbst auch nach Monaten und Jahren im eigenen Programmcode zurechtfindet.
  
- function __construct() +**Wiederverwendbarkeit**\\ 
- +Idealerweise wird bei der Erstellung des Codes darauf geachtet, dass dieser auch in anderen Projekten verwendbar ist. Das geht natürlich nicht mit jeder Klasse und Funktion, da die Programmierung ja individuell für das aktuelle Projekt erstellt ​wird. 
- echo "<​p>​Objekt ​wird angelegt</​p>";​ +Aber es ist schon sinnvoll bei der Entwicklung die Frage im Blick zu behalten, ob der Code auch in anderen Projekte eingesetzt werden kann.
- }+
  
-=== Funktion "​call"​ ===+**Geschwindigkeit**\\ 
 +Die Geschwindigkeit hat in dieser Aufzählung die unterste Priorität aber sollte nicht außer Acht gelassen werden. Bei der objektorientierten Programmierung wird bis zu 20 % mehr Code erzeugt, als nötig wäre. Aber dieser Overhead wird für die Einhaltung der ersten beiden Punkte in Kauf genommen. In der Regel sprechen wir hier auch nur von einem Bereich in Millisekunden,​ die durch die Abarbeitung des Overheads nötig sind.
  
-Diese Methode wird aufgerufen, wenn die angesprochene Methode nicht vorhanden ist.+----
  
- function __call( $methode, $parameter ) +==== Grundbegriffe der Objektorientierte Programmierung ====
-+
- echo "<​p>​Methode '​$methode'​ nicht vorhanden</​p>";​ +
- }+
  
-=== Funktion "​get"​ ===+  * Klasse (legt die Eigenschaften und Methoden eines Objektes fest) 
 +  * Eigenschaften (Variablen einer Klasse) 
 +  * Methoden (Funktionen einer Klasse) 
 +  * Objekt
  
-Wenn eine nicht exisiterende ​Objekt-Variable ausgelesen ​werden ​soll, wird die Methode "​get"​ ausgeführt.+In einer Klasse wird festgelegt, welche Methoden und Eigenschaften das davon erzeugte ​Objekt ​besitzt. Die in der Klasse vordefinierten Eigenschaften können beim Objekt individuell belegt ​werden.
  
- function __get( $var )  +----
-+
- echo "<​p>​Variable '​$var'​ kann nicht ausgelesen werden.</​p>";​ +
- }+
  
-=== Funktion "​set"​ === +  * [[magische_methoden|Magische Methoden]] 
- +  * [[clone|Objekte klonen]] 
-Wenn eine nicht existierende Objekt-Variable gesetzt werden soll, wird die Methode "​set"​ ausgeführt. +  * [[sichtbarkeit|Sichtbarkeit von Eigenschaften und Methoden]] 
- +  * [[serialize|Serialisieren von Objekten]]
- 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)