Seitenleiste

Inhalt

Neu:

Objekt Orientierte Programmierung mit PHP

Auf den letzten Seiten wurdet ihr mit den Grundlagen 1) vertraut gemacht.In diesem Abschnitt widmen wir uns einer fortgeschrittenen Programmiertechnik zu: Dem objektorientierten Programmieren ( Objekt Orientierte Programmierung). Spätestens, wenn ­ihr Programmcode in unterschiedlichen Projekten wieder verwenden ­wollt, werdet ihr diese Technik zu schätzen wissen.

Ihr werdet Klassen und Objekte, Ihre Eigenschaften und Methoden kennenlernen. Anhand von Beispielen und einem Beispielprojekt werdet ihr erfahren, wie ihr Klassen modelliert, Objekte erzeugt, und diese in der Programmierung einsetzt.

Dieser Abschnitt konzentriert sich auf ­PHP 5. Der gängigen Meinung nach bietet erst diese Version umfangreiche und sinnvolle Möglichkeiten, um objektorientiert zu programmieren. Die Konzepte und Möglichkeiten der Objektorientierung sind stark an Java angelehnt. Falls Ihr die Programmierung mit Java beherrscht, werden euch viele Dinge bekannt vorkommen.

Klassen und Objekte

Ein Objekt wird aus einer Klasse erzeugt. Um Objekte verwenden zu können, braucht Ihr eine Klasse, nach deren Vorschriften ein Objekt erzeugt werden kann. Eine Klasse ist ein Bauplan mit Vorschriften nach dessen Vorlage ihr beliebig viele Objekte erzeugen könnt. Ihr könnt das mit einem gewöhnlichen Plan für ein Hochhaus vergleichen: Der Bauplan beschreibt genau, wie ein Hochhaus gebaut werden soll, wie viele Fenster, Türen, Schlösser, welche Heizung und viele weitere Details. Der Plan für das Hochhaus ist die Kasse, das reale Hochhaus ist ein Objekt vom Typ Hochhaus. Der Bauvorgang ist die Instantiierung, mit new wird ein Objekt »gebaut«, das heißt erzeugt und einer Variable zugewiesen. Unter dem Namen dieser Variablen könnt Ihr das Objekt ansprechen.

Ein kleiner Hinweis

Klasse: Abstrakter Bauplan für ein Objekt wird mit dem Schlüsselwort class definiert: class KlassenName{}

Objekt: mit dem Schlüsselwort new wird von der Klasse eine konkrete Ausprägung erzeugt, eine Instanz. Dieses Objekt weißt ihr einer Variable zu. Diese Variable verweist als Referenz auf das sog. Objekt: $objekt = new KlassenName();. Ein Objekt wird auch als Instanz einer Klasse bezeichnet.

Objektorientierte Programmierung: Wird öfter mit OOP abgekürt, im Englischen heißt das folglich Object oriented programming. Zu Deutsch natürlich Objektorientierte Programmierung.


Auf der nächste Seite wird die Kasse, das reale Hochhaus ist ein Objekt vom Typ Hochhaus. Der Bauvorgang ist die Instantiierung, mit new wird ein Objekt »gebaut«, das heißt erzeugt und einer Variable zugewiesen. Unter dem Namen dieser Variablen könnt Ihr das Objekt ansprechen.

Ein Kleiner Hinweis

Klasse: Abstrakter Bauplan für ein Objekt, wird mit dem Schlüsselwort class definiert: class KlassenName{}

Objekt: mit dem Schlüsselwort new wird von der Klasse eine Konkrete Ausprägung erzeugt, eine Instanz. Dieses Objekt weißt ihr einer Variable zu. Diese Variable verweist als Referenz auf das sog. Objekt: $objekt = new KlassenName();. Ein Objekt wird auch als Instanz einer Klasse bezeichnet.

Objektorientierte Programmierung: wird öfter mit OOP abgekürt, im Englischen heißt das folglich Object orientaded programming. Zu Deutsch natürlich Objektorientierte Programmierung.


Auf der nächste Seite wird erklärt wie ihr Eigenschaften und Objekte erstellt, bzw. was deren Bedeutung ist.

Alt:

OOP in PHP

OOP(Object-orientated Programming zu deutsch: Objekt Orientiertes Programmieren) ist in PHP seit der Version 4 Möglich aber erst seit PHP V. 5 wirklich nutzbar. Denn in PHP V5 kamen diese Features Hinzu:

Neue FEATURES seit PHP5

  • 3 Schlüsselwörter für die Sichtbarkeits-Deklaration von Funktionen(sogenannte Methoden) und Variablen(sogenannte Eigenschaften)(public,private,protected,static)
  • 2 Schlüsselwörter für die Deklaration von Klassen (final, abstract)
  • TODO: Weitere Auflisten FIXME

Allgemeines zu Klassen

Klassen werden, wie schon das Wort sagt, über das Wort „class“ deklariert. Es gibt 2 Schlüsselwörter die man vor der Deklaration nutzen kann: final und abstract

final

final deklariert die Klasse so, das weder Eigenschaften(Variablen in der Klasse) oder Methoden(Funktionen in der Klasse) von außen verändert werden können. D.h nur die Klasse selbst darf diese Ändern.

abstract

abstract wird für Klassen genutzt, welche nicht ausführbar sein sollen. Klingt zwar sehr komisch, aber das kann sehr Nützlich sein: Man stelle sich eine Klasse vor, welche die Konfiguration für Datenbanken vornimmt. Sollte diese etwa wegen Plugins unsicher werden?Dass heißt, die Daten wären auslesbar wegen der Implementation. Auf keinen Fall! Das machen wir durch „abstract“

Beispiel-Code

Hier ein sehr Kleiner Code-Abschnitt,um die ganze trockene Praxis etwas zu bewässern LOL, welchen wir gleich nach und nach Zerlegen werden. Alles in Klammern sind die neuen aber dennoch Optionalen Schlüsselwörter, die in PHP 5 Raus kamen.

<?php
(final abstract) class foo {
 //Eigenschaft
 (public,private,protected,static) $Vars = "Foo";
 //Methoden
 (public,private,protected) function foo($fooVar=11){
  echo $this->$Vars;
  return $fooVar;
 }
}
$foo = new foo;
$foo->foo();
?>

Erklärung des Codes

Okay,
durch „class“ deklarieren wir die Klasse, der Name der Klasse muss nach dem Schlüsselwort kommen. Im jetzigen Raum deklarieren wir die Sogenannten Eigenschaften(Variablen) die in der Klasse, ggf. auch ausserhalb, der Klasse genutzt werden. Achtung: Variablen wegen der Lesbarkeit besser vor den Funktionen deklarieren.

Die Funktionen

Mit dem Wort „function“ deklarieren wir eine Sog. Methode(Funktion), auf welche wir innerhalb, und ggf. ausserhalb, der Klasse zugreifen können.
Wir können wie bei normalen Funktionen auch hier Argumente anfordern und Text bzw. Zahlen durch „return“ zurückgeben.

Die Klassen internen Variablen

Auf Klassen-Interne Variablen greift man mit dem Schlüsselwort „$this→Variable“ zu. „Variable“ ist der Name der Variable. Ausserhalb der Klasse kann man über die Zuweisungsvariable aufrufen, also im beispiel wäre das „$foo→Vars“ oder wenn die Variable „$intern“ heißen würde, wäre das „$intern→Vars“.Funktion Interne Variablen kann man nur in der Funktion selbst aufrufen, welche man deswegen als Temporär bezeichnen kann.




So, genug der Theorie. Auf der Nächsten Seite werden wir uns anhand eines Beispielprojektes weiter in die Welt der Klassen vorarbeiten, dort wird alles was hier nun erklärt wurde, wird dort näher betrachtet. Nächste Seite: Sichtbarkeit von Klassen--->>