# Core-Modul Dokumentation

## Übersicht

Das Core-Modul bildet das Herzstück des Frameworks und stellt grundlegende Funktionalitäten bereit, die von anderen Modulen genutzt werden.

## Hauptkomponenten

### Events und EventDispatcher

Das Event-System ermöglicht die Kommunikation zwischen Komponenten über einen zentralen Event-Bus.

**Kernklassen:**
- `EventDispatcher`: Zentraler Service zum Registrieren und Auslösen von Events
- Bekannte Events:
  - `ApplicationBooted`
  - `ErrorOccurred`
  - `BeforeHandleRequest`
  - `AfterHandleRequest`

**Beispielverwendung:**
```php
// Event-Handler registrieren
$eventDispatcher->addHandler('App\Framework\Core\Events\ApplicationBooted', function($event) {
    // Event verarbeiten
});
```

### PathProvider

Stellt Pfadinformationen für verschiedene Bereiche der Anwendung bereit.

**Hauptfunktionen:**
- `getDataPath()`: Liefert Pfade zu Datenverzeichnissen

## Integration mit anderen Modulen

Das Core-Modul wird von vielen anderen Modulen verwendet, wie z.B.:

- **Analytics-Modul**: Nutzt den EventDispatcher zum Tracking von Systemereignissen
- **DI-Container**: Nutzt Core-Komponenten für die Initialisierung von Services

## Architektur

Das Core-Modul folgt einer ereignisgesteuerten Architektur, bei der Komponenten über Events miteinander kommunizieren können, anstatt direkte Abhängigkeiten zu haben.
