Lehrbuch zu OOP in PHP8
Grundlagen
Einführung
Klassen und Objekte
Eigenschaften
Methoden
Methodenparameter
Eigenschaften innerhalb von Klassen
Methoden innerhalb von Klassen
Konstruktor
Eigenschaften über Konstruktorparameter
Private Eigenschaften
Private Methoden
Getter für Eigenschaften
Setter für Eigenschaften
Vorteile von Settern und Gettern
Fortgeschritten
Klassendateien
Methodenketten in Klassen
Klasse als Methodensammlung
Arrays von Objekten
Objekte innerhalb von Klassen
Nullsafe-Operator
Nullsafe-Operator in Ketten
Manipulation von Objekten in Klassen
Übergabe als Referenz
Operator instanceof
Vererbung
Klassenvererbung
Vererbung öffentlicher Methoden
Kindklassenmethoden
Überschreiben von Elternmethoden
Aufruf der überschriebenen Methode
Konstruktor bei Vererbung
Private Methoden bei Vererbung
Private Eigenschaften bei Vererbung
Problem privater Eigenschaften bei Vererbung
Geschützte Methoden
Geschützte Eigenschaften
Operator instanceof und Vererbung
Aufrufe
Eigenschaftsname aus Variable
Eigenschaftsname aus Array
Eigenschaftsname aus assoziativem Array
Eigenschaftsname aus Funktion
Eigenschaftsname aus Objekt
Methode aus Variable
Aufruf nach Erstellung
Static
Statische Methoden
Statische Methoden innerhalb einer Klasse
Statische Eigenschaften
Statische Eigenschaft innerhalb einer Klasse
Aufruf über Klasse und Objekt
Kombination mit static
Statische Methoden und $this
Beispiel
Funktionen
Abrufen des Klassennamens
Abrufen der Klassenmethoden
Abrufen der Klasseneigenschaften
Abrufen der Objekteigenschaften
Überprüfen der Klassenzugehörigkeit
Überprüfen der Methodenzugehörigkeit
Überprüfen der Eigenschaftszugehörigkeit
Abrufen der Elternklasse
Überprüfen der Klassenvererbung
Überprüfen der Objektzugehörigkeit
Abrufen aller deklarierten Klassen
Abstrakt
Interfaces
Einführung in Interfaces
Übung zur Anwendung von Interfaces
Namenskonventionen für Interfaces
Anwendung von Interfaces
Methodenparameter im Interface
Deklaration eines Konstruktors im Interface
Vererbung zwischen Interfaces
Interfaces und instanceof
Implementierung mehrerer Interfaces
Vererbung von einer Klasse und Implementierung eines Interfaces
Konstanten in Interfaces
Funktionen für Interfaces
Traits
Einführung in Traits
Mehrere Traits
Methodenkonflikte
Zugriffsmodifikatoren
Änderung der Zugriffsrechte für Trait-Methoden
Methodenpriorität
Abstrakte Methoden
Traits in Traits
Funktionen für Traits
Magische Methoden
Einführung
Methode __toString
Eigenschaften auslesen
Schreibgeschützte Eigenschaften
Auslesen nicht vorhandener Eigenschaften
Eigenschaften setzen
Schreiben nicht vorhandener Eigenschaften
Überprüfung von Eigenschaften beim Schreiben
Praxis
Namespaces und Autoloading
Einführung in Namespaces
Syntax von Namespaces
Subnamespaces
Vereinfachter Aufruf
Namespaces in Dateien
Relative Pfade im Namespace
Der use-Befehl
Anbinden mehrerer Klassen
use-Befehl und relative Pfade
Klassenaliase
Standard-Autoloading von Klassen
Regeln für das Autoloading
Eigenes Autoloading von Klassen