PHP Classes: Die Bausteine der objektorientierten Programmierung
PHP Classes organisieren den Code in unabhängige logische Module, die jeweils bestimmte Eigenschaften und Methoden besitzen. Dies fördert die Wiederverwendbarkeit und die Verwaltung großer Projekte.
Was sind PHP Classes?
PHP Classes gleichen Vorlagen oder Bauplänen, die zur Erstellung von Objekten verwendet werden. Eine Klasse definiert die Eigenschaften (Variablen oder Attribute) und Methoden (Funktionen), die ein Objekt haben wird. Klassen sind ein wesentlicher Bestandteil der objektorientierten Programmierung und können zum Beispiel in Verbindung mit anderen PHP-Funktionen eingesetzt werden. Sie können auch Klassen erstellen, um mit PHP Informationen aus einer MySQL-Datenbank abzurufen.
Durch die Nutzung von Deploy Now von IONOS profitieren Sie von einer hochmodernen Hosting-Lösung für Ihre Anwendungen. Deploy Now bietet Ihnen nicht nur erstklassige Zuverlässigkeit, sondern auch eine Vielzahl von leistungsstarken Funktionen zur Automatisierung, um Ihre Projekte optimal zu unterstützen.
So definiert man PHP Classes
Für die Definition einer Klasse in PHP benutzen wir das Schlüsselwort class, gefolgt von dem Klassennamen und geschweiften Klammern. Dazwischen schreiben wir die Eigenschaften und Methoden der Klasse.
class Name {
// php class example properties and methods
}
phpHier ist ein konkretes Beispiel:
class Animal {
// Properties
public $name;
public $color;
// Methods
function set_name($name) {
$this->name = $name;
}
function get_name() {
return $this->name;
}
}
phpDie Klasse „Animal“ besitzt die beiden Eigenschaften „name“ und „color“ sowie zwei Methoden, um den Namen festzulegen (set_name) und abzurufen (get_name).
Wenn Sie mehr über die PHP-Programmierung erfahren möchten, können Sie sich das PHP-Tutorial aus unserem Ratgeber anschauen. Wir haben auch die Vor- und Nachteile von PHP vs. Python und PHP vs. JavaScript für Sie verglichen.
- DNS-Management
- SSL-Verwaltung
- API-Dokumentation
In welcher Verbindung stehen PHP-Klassen und -Objekte?
Objekte sind Instanzen einer Klasse. Wenn Sie eine Klasse instanziieren, erhalten Sie ein konkretes Objekt, das auf die in der Klasse definierten Eigenschaften und Methoden zugreifen kann. Objekte einer Klasse werden mit dem Schlüsselwort new erstellt:
class Animal {
// Properties
public $name;
public $color;
// Methods
function set_name($name) {
$this->name = $name;
}
function get_name() {
return $this->name;
}
}
$dog = new Animal();
$cat = new Animal();
$dog->set_name('Tom');
$cat->set_name('Mickey');
echo $dog->get_name();
echo "<br>";
echo $cat->get_name();
phpHier sind „dog“ und „cat“ Instanzen der Klasse „Animal“, denen wir jeweils eigene Namen geben.
Des Weiteren können PHP Classes vererbt werden, was bedeutet, dass Sie von einer bestehenden Klasse ableiten dürfen, um eine neue Klasse zu definieren. Die abgeleitete Klasse erbt die Eigenschaften und Methoden der Basisklasse. Dies ermöglicht die Wiederverwendung und die Erweiterung von Funktionen. Objekte der abgeleiteten Klasse sind auch Instanzen der Basisklasse und können deren Methoden einsetzen.
class Mammal extends Animal {
function breathesAir() {
echo "inhale";
}
}
$horse = new Mammal;
$horse->setName("Louis");
phpMit dem Schlüsselwort extends erbt die Klasse „Mammal“ alle Eigenschaften und Methoden der Oberklasse „Animal“. Wir können „Mammal“ eine neue Funktion hinzufügen, aber auch auf vererbte zugreifen.
Beispiele für die Anwendung von PHP Classes
PHP-Klassen sind vielseitig einsetzbar. Im Folgenden stellen wir Ihnen praktische Beispiele vor.
PHP instanceof
In PHP ist instanceof ein Operator, um zu überprüfen, ob ein Objekt einer bestimmten oder einer von ihr abgeleiteten Klasse angehört.
Hier ist ein einfaches Beispiel:
class Animal {
public function speak() {
echo "sound";
}
}
class Dog extends Animal {
public function speak() {
echo "bark";
}
}
$animal = new Dog();
if ($animal instanceof Animal) {
$animal->speak(); // Output: "bark"
}
phpAls Erstes überprüfen wir mit instanceof, ob $animal
eine Instanz der PHP Class „Animal“ oder einer ihrer abgeleiteten Klasse ist. Da $animal
eine Instanz der abgeleiteten Klasse „Dog“ ist (die von Animal erbt), wird die Bedingung erfüllt und der Code im If-Block ausgeführt.
Der instanceof
-Operator ist hilfreich, wenn Sie sicherstellen möchten, dass Sie auf bestimmte Methoden oder Eigenschaften zugreifen können, ohne dass es zu Fehlern kommt, wenn das Objekt nicht die erwartete Klasse hat.
PHP-Klassen und -Arrays
Klassen können in PHP-Arrays gespeichert werden, um komplexe Datenstrukturen zu entwerfen.
class Product {
public $name;
public $price;
public function __construct($name, $price) {
$this->name = $name;
$this->price = $price;
}
}
$products = [
new Product("Laptop", 800),
new Product("Smartphone", 400),
new Product("Tablet", 300)
];
foreach ($products as $product) {
echo "Product: " . $product->name . ", Price: $" . $product->price . "<br>";
}
phpIn diesem Beispiel definieren wir die Klasse „Product“, um verschiedene Produkte zu repräsentieren, und speichern diese in dem Array „products“. Wir können dann das Array mit PHP-Loops wie dem foreach-Konstrukt durchlaufen, um die Produktnamen und Preise auszugeben.
PHP Class Constructor
Der Konstruktor ist eine spezielle Methode innerhalb einer PHP Class, die automatisch aufgerufen wird, wenn ein Objekt dieser Klasse erstellt wird. Der Zweck eines Konstruktors besteht darin, die Anfangszustände eines Objekts zu initialisieren oder andere Vorbereitungsarbeiten durchzuführen, die für das korrekte Funktionieren des Objekts erforderlich sind.
class Dog {
private $name;
private $color;
// Constructor
public function __construct($name, $color) {
$this->name = $name;
$this->color = $color;
}
public function sayHello() {
return "Hello, my name is {$this->name} and my color is {$this->color}.";
}
}
$dog = new Dog("Tom", "brown");
echo $dog->sayHello(); // Output: "Hello, my name is Tom and my color is brown."
phpErsetzen Sie eigene, kostenintensive Speicherlösungen mit IONOS Object Storage. Es ist hochgradig skalierbar, äußerst kosteneffizient und integriert sich in Ihre Anwendungsszenarien. Die extrem hohe Ausfallsicherheit unserer Server sowie eine individuelle Zugriffssteuerung schützen Ihre Daten zuverlässig.