Dieses Repository enthält Materialien und Übungen für einen Kurs zur objektorientierten Programmierung (OOP) in PHP. Der Kurs behandelt mehrere Schlüsselkonzepte in OOP, einschließlich Konstruktoren, Vererbung und Sichtbarkeit.
Basierend auf 4 Säulen von OOP: Kapselung, Abstraktion, Vererbung und Polymorphismus.
In PHP ist ein Konstruktor eine spezielle „magische“ Methode, die automatisch aufgerufen wird, wenn ein Objekt erstellt wird. Es wird normalerweise verwendet, um die Eigenschaften des Objekts zu initialisieren. In diesem Kurs lernen Sie, wie Sie Konstruktoren in Ihren PHP-Klassen definieren und verwenden.
Vererbung ist ein grundlegendes Konzept in OOP, das es Ihnen ermöglicht, eine neue Klasse basierend auf einer vorhandenen Klasse zu definieren. Dadurch können Sie Code wiederverwenden und auf der Grundlage allgemeiner Klassen speziellere Klassen erstellen. In diesem Kurs erfahren Sie, wie Sie die Vererbung in PHP nutzen, um effizienteren und organisierteren Code zu erstellen.
Sichtbarkeit bezieht sich in PHP OOP auf die Zugänglichkeit von Eigenschaften und Methoden in einer Klasse. Es gibt drei Sichtbarkeitsebenen:
In diesem Kurs erfahren Sie, wie Sie diese verschiedenen Sichtbarkeitsebenen nutzen, um den Zugriff auf Ihren Code zu steuern.
- `::` Scope Resolution Operator
- Like the `__toString` method is called when an object is used in a string context.
- Getters and Setters can have property names passed to get around multiple method calls
- An abstract class is a class that **cannot be instantiated on its own** and is typically used as a base class for other classes.
- The abstract class provides properties and funciontality which is shared by all the classes that inherit from it.
- Declared in an abstract class implementation is provided by the classes that inherit from the abstract class.
- if class extends three dimensions shape aka abstract it must implement the abstract method `getVolume`
- Good for:
- You want to provide a common interface for different classes
- You want to enforce certain methods to be implemented by the child class
- You are designing a large functional unit by using the Template Method patter
- Default implementation of a method in an interface
- Objects that can take on many forms
- an instance of an object that can take more than one type is polymorphic
- Injecting this single type is not as usefull `public function updateStockFromFile(string $path, CsvFileReader $fileReader): array`
- Using `instanceof` we can check if the object is of a certain type
- Closure functions
- Abstract classes and methods
- Uml diagrams
- Dependency injection
PHP
OOP
Lern-PHP
PHP-Kurs
Konstrukteure
Nachlass
Sichtweite
Verkapselung
Abstraktion
Polymorphismus
PHPUnit
gU
Namensräume
Automatisches Laden
Eigenschaften
Fehlerbehandlung
MySQL
Komponist
Testen von PHP
Testgetriebene Entwicklung