Workshop: PHP für Fortgeschrittene
Dieser 3- bis 5-tägige Workshop setzt solide Grundkenntnisse in PHP und in objektorientierter Programmierung voraus.
Die wichtigsten Inhalte
Projektstruktur
- Verzeichnisstruktur für Nicht-TYPO3-Projekte
- Unix-Zeilenenden
- BOM
- Composer
- Namespaces
- Autoloading
- PSR-4: Autoloading
Symfony-Console
- Symfony-Console-Skripte
Strikte Typisierung
- Typ-Deklarationen
- Return-Type-Deklarationen
- Nullable Types
- Strict-Mode
- == vs. ===
OOP
- Traits
- Sichtbarkeit von Methoden
- Vererbung
- Interfaces
- Abstrakte Klassen
eingebaute Klassen
- ZipArchive
- DOMDocument
- DateTime
sauber programmieren
- statische Codeanalyse
- /** vs. /*
- PHPDoc
- PHPDoc für lokale Variablen
- PHPDoc für Felder
- PSR-1 und PSR-2: Coding Style
- PHP-Linting
- PHPCS
- Composer-Skripts
- PHP-CS-Fixer
- Early Returns
- Guard-Clauses
- zyklomatische Komplexität
- n-Path-Komplexität
- Kopplung und Kohäsion
- Design-by-Contract
- PHPStan
- Psalm
- PHPMD
Fehlerbehandlung
- Exceptions
- PSR-3: Logger
- Logging mit dem Symfony-Console-Logger
- Logging mit Monolog
Anonyme Funktionen
- anonyme Funktionen/Lambdas
- Lambdas vs. Closures
- Self-Executing Anonymous Functions
Low-Level-PHP
- Variable Variablen
- Magic-Methods
Weitere eingebaute Funktionen
- reguläre Ausdrücke
- Streams
- CSV-Dateien lesen
Softwarearchitektur
- DDD
- Liskovsches Substitutionsprinzip
- Open-Closed-Prinzip
- Single-Responsibility-Principle
Refactoring und Code-Smells (Bonus, falls Zeit ist)
- Smell: Comments
- Smell: Feature envy
- Smell: Switch statements
- Refactoring: Extract method
- Refactoring: Pull up method
- Refactoring: Decompose conditional
Ausblick auf weitere Themen
- Testing, TDD
- Security von Webanwendungen
- Design-Patterns
- noch mehr Refactoring
- Git und Git-Workflows
- PhpStorm
- Debugging und Profiling mit Xdebug und XHProf
- Domain-driven Design
Resourcen
Datum
04.09.2018–06.09.2018
Zeit
08:00–17:00 Uhr
Ort
wird noch bekannt gegeben
Anmeldung
Die Anmeldefrist für diese Veranstaltung ist leider schon vorbei.