chore: complete update

This commit is contained in:
2025-07-17 16:24:20 +02:00
parent 899227b0a4
commit 64a7051137
1300 changed files with 85570 additions and 2756 deletions

View File

@@ -0,0 +1,104 @@
# Framework Debug-Modul
Dieses Modul bietet eine übersichtlichere Alternative zu `var_dump` und vereinfacht das Debugging in der Anwendung.
## Features
- **Übersichtliche Formatierung** - Besser lesbar als `var_dump`
- **Kontext-Informationen** - Zeigt Datei, Zeile, Zeit und Speicherverbrauch
- **Verschiedene Ausgabeformate** - HTML für Browser, Konsole für CLI
- **Spezialisierte Funktionen** - Für Arrays und Objekte optimiert
- **Debug-Historie** - Verfolgt alle Debug-Aufrufe
- **Einfache Konfiguration** - Kann für verschiedene Umgebungen aktiviert/deaktiviert werden
- **Erweiterbar** - Eigene Formatter und Outputs möglich
## Verwendung
### Einfaches Debugging
```php
// Variable debuggen
debug($variable, 'Meine Variable');
// Debuggen und Ausführung beenden
dd($variable, 'Fehleranalyse');
// Array-spezifisches Debugging
debug_array(['a' => 1, 'b' => 2], 'Mein Array');
// Objekt-Debugging mit Methoden- und Property-Liste
$user = new User();
debug_object($user, 'Benutzer');
// Einfache Log-Nachrichten
debug_log('Benutzer wurde erstellt', 'INFO');
// Historie aller Debug-Aufrufe anzeigen
debug_history();
```
### Konfiguration
```php
// In Bootstrap-Datei oder Service-Provider
use App\Framework\Debug\Debugger;
use App\Framework\Debug\Outputs\HtmlOutput;
use App\Framework\Debug\Formatters\HtmlFormatter;
// Für Entwicklungsumgebung aktivieren
Debugger::configure(
enabled: true,
output: new HtmlOutput(),
formatter: new HtmlFormatter()
);
// In Produktionsumgebung deaktivieren
if ($app->isProduction()) {
Debugger::disable();
}
```
## Eigene Formatierung und Ausgabe
Das Modul kann durch eigene Implementierungen von `FormatterInterface` und `OutputInterface` erweitert werden.
```php
namespace App\Debug;
use App\Framework\Debug\Formatters\FormatterInterface;
use App\Framework\Debug\DebugEntry;
class MyCustomFormatter implements FormatterInterface
{
public function format(DebugEntry $entry): string
{
// Eigene Formatierung implementieren
}
public function formatHistory(array $entries): string
{
// Eigene Formatierung für Historie
}
public function formatValue(mixed $value): string
{
// Eigene Formatierung für Werte
}
}
```
## Integration
Um die Helper-Funktionen global verfügbar zu machen, fügen Sie die folgende Zeile zu Ihrer Composer-Datei hinzu:
```json
{
"autoload": {
"files": [
"src/Framework/Debug/helpers.php"
]
}
}
```
Dann führen Sie `composer dump-autoload` aus.