Einführung in OOP in PHP
Jetzt werden wir uns mit dem Studium von OOP in PHP beschäftigen. Lassen Sie uns ein Beispiel aus dem Leben betrachten, und es dann in PHP übertragen.
Als Beispiel nehmen wir ein Auto. Es hat Räder, eine Farbe, eine Karosserieform, einen Hubraum und so weiter. Außerdem kann der Fahrer ihm Befehle erteilen: fahren, anhalten, nach rechts abbiegen, nach links usw.
Man kann sagen, dass es eine bestimmte Klasse von Autos gibt, die gemeinsame Eigenschaften besitzt (alle haben Räder und allen kann man Befehle erteilen).
Ein konkretes Auto, das auf der Straße steht - ist ein Vertreter dieser Klasse, oder, mit anderen Worten, ein Objekt dieser Klasse. Alle Objekte dieser Klasse haben Eigenschaften: Anzahl der Räder, Farbe, Karosserieform und Methoden: fahren, anhalten, nach rechts abbiegen, nach links.
Mit anderen Worten: Die Klasse selbst ist der Bauplan, nach dem in der Fabrik Autos gebaut werden. Das Objekt hingegen ist das Auto selbst, das nach diesen Bauplänen gebaut wurde.
In PHP wird eine Klasse mit dem Schlüsselwort
class erstellt, gefolgt vom Namen
dieser Klasse. Lassen Sie uns die Klasse Car erstellen:
<?php
class Car
{
// hier Code, also der PHP-Bauplan für ein Auto
}
?>
Geben wir nun in unserem Bauplan an, dass jedes Auto, das nach diesem Bauplan erstellt wird, eine Eigenschaft für die Farbe und eine Eigenschaft für die Menge an Kraftstoff haben wird.
Dazu schreiben wir innerhalb der Klasse die Eigenschaft
$color und die Eigenschaft $fuel:
<?php
class Car
{
// Legen wir Eigenschaften fest (im Grunde Variablen der Klasse):
public $color; // Farbe des Autos
public $fuel; // Menge an Kraftstoff
}
?>
Lassen Sie uns nun die Methoden unserer Klasse erstellen.
In PHP werden Methoden, ähnlich wie normale Funktionen,
mit dem Schlüsselwort function deklariert,
vor dem das Schlüsselwort
public geschrieben wird.
Wie bereits oben erwähnt, kann unser Auto fahren, es kann abbiegen, es kann anhalten. Erstellen wir entsprechende Methoden in unserer Klasse:
<?php
class Car
{
public $color; // Farbe des Autos
public $fuel; // Menge an Kraftstoff
// Befehl fahren:
public function go()
{
// irgendein PHP-Code
}
// Befehl abbiegen:
public function turn()
{
// irgendein PHP-Code
}
// Befehl anhalten:
public function stop()
{
// irgendein PHP-Code
}
}
?>
Wir haben den Bauplan für unser Auto erstellt. Jetzt müssen wir in die Fabrik gehen und ein Objekt dieser Klasse erstellen (also ein konkretes Auto).
In PHP geschieht dies mit dem Schlüsselwort
new, nach dem der Klassenname geschrieben wird:
<?php
new Car;
?>
Allerdings führt die bloße Erstellung eines Klassenobjekts - zu nichts (das ist genauso, wie z.B. ein Array zu deklarieren und es nirgendwo abzuspeichern). Wir brauchen eine Variable zur Speicherung dieses Objekts.
Diese Variable soll $myCar heißen
- wir weisen ihr das von uns erstellte Objekt zu:
<?php
$myCar = new Car;
?>
Nach der Erstellung des Autos kann auf
seine Eigenschaften zugegriffen werden. Der Zugriff darauf erfolgt
über den Pfeil ->. Lassen Sie uns die
Eigenschaften unseres Objekts festlegen:
<?php
$myCar = new Car; // wir befehlen der Fabrik, ein Auto zu bauen
// Eigenschaften des Objekts setzen:
$myCar->color = 'red'; // in roter Farbe lackieren
$myCar->fuel = 50; // Kraftstoff tanken
?>
Fertig, unser Auto ist erstellt, lackiert und betankt. Jetzt können wir ihm Befehle über die Methoden dieses Autos erteilen.
Der Zugriff auf Methoden erfolgt ebenfalls über den Pfeil, aber im Gegensatz zu Eigenschaften werden nach dem Methodennamen runde Klammern gesetzt. Lassen Sie unser Objekt Befehle ausführen:
<?php
$myCar->go();
$myCar->turn();
$myCar->stop();
?>