- Überblick über Aspekte des Refactoring
- Typische Probleme in Legacy-Code aus PHP 4/5-Zeiten
- Analyse des bestehenden Projekts: prozeduraler Code, globale Zustände, primitive Datenträger, direkte Datenbankzugriffe
- Refactoring vs. Rewrite: Wann lohnt sich welcher Weg?
- Einführung in Refactoring-Grundprinzipien: kleine Schritte, Absicherung, Verhalten erhalten
- Wichtige neue Sprachfeatures in PHP 8 und höher
- Neue Operatoren
- Neue Vergleiche
- Anonyme Funktionen
- Funktionen als Datentyp
- Typehinting
- Typisierung von Argumenten und Rückgabewert
- Union-Type
- Eigene Datentypen mit Klassen und Interfaces erstellen
- Objektorientierung mit PHP
- Klassen, Eigenschaften, Methoden
- Property Hooks und Interface-Property-Deklaration
- Zugriffsmodifizierer public, protected, private
- Magische Methoden/Interzeptormethoden
- Abstrakte Klassen mit abstract
- Finale Klassen und Methoden
- readonly vs const
- Sinn, Zweck und Einsatz von statischen Eigenschaften und Methoden
- Datenbankzugriff und Persistenzschicht
- Datenbankzugriffe mittels PDO realisieren
- Prepared Statements
- Transaktionen
- Fehlerbehandlung
- Interfaces
- Sinn und Zweck von Interfaces
- Interfaces erstellen, implementieren und vererben
- Eigenschaften in Interfaces deklarieren (> PHP 8.4)
- Arbeiten mit Traits
- Namespaces
- Arbeiten mit Namensräumen
- Namespaces und Autoloader
- Fehler und Ausnahmen
- Die Hierarchie von Throwable, Error und Exception
- Sicherheit
- Wichtige Sicherheitsaspekte
- Schutz vor XSS Cross Site Scripting und SQL Injection
- Arbeiten mit Filtern
- Dokumentation des Codes mit phpDoc
- Projektverwaltung mit dem Composer
- Arbeiten mit einem Autoloader
LernzieleNach diesem Seminar sind Sie in der Lage, bestehende PHP-Anwendungen strukturiert zu analysieren und gezielt zu modernisieren. Sie beherrschen zentrale Refactoring-Techniken, setzen moderne Sprachfeatures von PHP 8 sicher ein und entwickeln wartbare, objektorientierte Architekturen. Darüber hinaus können Sie Datenbankzugriffe absichern, Code dokumentieren und Projekte mit Composer effizient verwalten. Sie treffen fundierte Entscheidungen zwischen Refactoring und Neuentwicklung und verbessern nachhaltig die Qualität und Sicherheit Ihrer Anwendungen.
ZielgruppenDieses Seminar richtet sich an Entwicklerinnen und Entwickler, die bestehende PHP-Anwendungen übernehmen oder weiterentwickeln und diese auf einen modernen Stand bringen möchten. Besonders geeignet ist es für Sprachumsteiger mit objektorientierter Vorerfahrung sowie für PHP-Entwickler, die aktuelle Sprachfeatures praxisnah einsetzen möchten.
Sie benötigen grundlegende Erfahrung in der PHP-Entwicklung. Kenntnisse in HTML, CSS und JavaScript sind hilfreich, aber nicht zwingend erforderlich.