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.

Tipp

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
}
php

Hier 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;
    }
}
php

Die Klasse „Animal“ besitzt die beiden Eigenschaften „name“ und „color“ sowie zwei Methoden, um den Namen festzulegen (set_name) und abzurufen (get_name).

Tipp

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.

Die kostenlose IONOS API

Aktualisieren Sie Domain-, DNS-, SSL-Einstellungen und mehr mit der IONOS API.

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();
php

Hier 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");
php

Mit 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"
}
php

Als 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>";
}
php

In 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."
php

IONOS S3 Object Storage

Der IONOS S3 Object Storage ist ideal für Backups sowie zum Archivieren von Unternehmensdaten. Sie können beliebig große, statische Datenmengen kostengünstig speichern.

Hoch skalierbar
Kostengünstig
Komfortabel