chore: complete update
This commit is contained in:
104
src/Framework/Debug/readme.md
Normal file
104
src/Framework/Debug/readme.md
Normal 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.
|
||||
Reference in New Issue
Block a user