Müssen Sie beim Deklarieren einer Klasse alle Variablen und Funktionen auflisten, die das Objekt haben soll? Abbildung 1 zeigt die Struktur einer Klasse. Beachten Sie, dass Sie Variablen nur in geschweiften Klammern deklarieren können ({}) Oder eine Funktion. Abbildung 2 zeigt, wie man drei Eigenschaften und zwei Methoden in einer Klasse
definiert
{
Zugriffsvariablendeklaration
Zugriffsfunktionsdeklaration
}
name = $name;
$this->password = $password;
$this->lastLogin = time();
$this->accesses++;
}
// Uhrzeit des letzten Besuchs abrufen
Funktion getLastLogin()
{
return(date("M d Y", $this->lastLogin));
}
}
//Eine Instanz eines Objekts erstellen
$user = new User("Leon", "sdf123");
//Zeit des letzten Besuchs abrufen
print($user->getLastLogin() ."n");
//Benutzernamen drucken
print("$user->namen");
?>
Wenn Sie eine Eigenschaft deklarieren, müssen Sie den Datentyp nicht angeben. Die Variable kann je nach Situation eine Ganzzahl, eine Zeichenfolge oder ein anderes Objekt sein. Es ist eine gute Idee, bei der Deklaration von Eigenschaften Kommentare hinzuzufügen Die Bedeutung der Eigenschaft und der Datentypen.
Wenn Sie eine Methode deklarieren, tun Sie dasselbe wie beim Definieren einer Funktion außerhalb der Klasse. Dies bedeutet, dass Sie sicher eine Funktion mit demselben Namen erstellen können Außerhalb der Klasse können die beiden Methoden nicht in Konflikt geraten. Sie können jedoch keine Methode mit dem Namen „for“ oder „while“
benennen date() im PHP-Typhinweis ist der Name einer anderen Klasse, die als Argument an eine Methode übergeben wird. Wenn Ihr Skript eine Methode aufruft und eine Variable übergibt, die keine Instanz der Klasse ist, generiert PHP ein „. Schwerwiegender Fehler". Möglicherweise haben Sie es nicht anderen Typen gegeben, die Typhinweise wie Ganzzahlen, Zeichenfolgen oder boolesche Werte geben. Zum Zeitpunkt des Verfassens dieses Artikels war es umstritten, ob Typhinweise Array-Typen umfassen sollten.
Typhinweise sind eine Abkürzung zum Testen des Datentyps von Funktionsparametern oder Operatorinstanzen. Sie können diese Methode immer zurückgeben. Stellen Sie sicher, dass ein Parameter ein Datentyp ist, z. B. eine Ganzzahl Widgets-Beispiel für
<?php
//Komponente
classWidget
{
public $name='none';
public $created=FALSE;
}
//Assembler
classAssembler
{
öffentliche Funktion make(Widget $w)
{
print("Erstelle $w->namen");
$w->created=TRUE;
}
}
//Erstelle ein Komponentenobjekt
$thing = neues Widget;
$thing->name = 'Gadget';
//Assembly-Komponente
Assembler::make($thing);
?>
Zusätzlich zu den an die Parameter übergebenen Variablen enthalten Methoden eine einzelne Instanz der Klasse. Sie sollten diese verwenden, um auf die Eigenschaften des Objekts und andere Methoden zu verweisen Gehen Sie davon aus, dass eine unqualifizierte Variable an das lokale Attribut übermittelt wird, in PHP jedoch jede Variable einer Methode nur innerhalb eines bestimmten Bereichs der Methode liegt. Beachten Sie die Verwendung dieser Variablen im Konstruktor der User-Klasse in Abbildung 2.
PHP definiert einen Zugriffsqualifizierer, bevor Eigenschaften und Methoden deklariert werden, z. B. öffentlich, privat und geschützt. Darüber hinaus können Sie in der Klasse auch Konstanten deklarieren In diesem Kapitel finden Sie entsprechende Diskussionen.
Sie können mehrere Eigenschaften mit derselben Zugriffsmethode in einer Zeile auflisten und sie durch Kommas trennen. In Abbildung 2 verfügt die User-Klasse über zwei private Eigenschaften: $password und $lastLogin.