- Add DISCOVERY_LOG_LEVEL=debug - Add DISCOVERY_SHOW_PROGRESS=true - Temporary changes for debugging InitializerProcessor fixes on production
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
// 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
// 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.
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:
{
"autoload": {
"files": [
"src/Framework/Debug/helpers.php"
]
}
}
Dann führen Sie composer dump-autoload aus.