Was ist Carbon und warum wird es benötigt?
\n\nCarbon ist eine leistungsstarke und elegante Bibliothek für PHP, die die eingebaute Klasse DateTime erweitert. Wenn Sie jemals nativ mit Daten in PHP gearbeitet haben, wissen Sie, dass die standardmäßigen DateTime und DateTimeImmutable grundlegende Funktionen bieten, ihre API jedoch oft umständlich und unintuitiv ist. Carbon löst dieses Problem, indem es eine saubere, lesbare und ausdrucksstarke Syntax für die Arbeit mit Datum und Uhrzeit bietet.
Warum Carbon verwenden? Stellen Sie sich vor, Sie müssen:
\n- \n
- 3 Tage zum aktuellen Datum hinzufügen:
$date->add(new DateInterval('P3D'))(natives PHP) vs$date->addDays(3)(Carbon). \n - Die Differenz in Tagen zwischen zwei Daten ermitteln: umständliches
DateTime::diff()mit anschließender Formatierung vs$date1->diffInDays($date2). \n - Prüfen, ob ein Datum ein Wochenendtag ist: eigene Logik schreiben vs
$date->isWeekend(). \n
Carbon macht den Code nicht nur kürzer, sondern auch deutlich verständlicher. Es wird häufig in modernen PHP-Frameworks wie Laravel (wo es der Standard ist), Symfony, Yii und anderen verwendet. Die Bibliothek ist vollständig kompatibel mit nativem DateTime, was bedeutet, dass Sie Carbon überall dort verwenden können, wo DateTime erwartet wird.
Die wichtigsten Vorteile von Carbon:
\n- \n
- Ausdrucksstarke Syntax: Methoden sind so benannt, dass ihr Zweck ohne Kommentare verständlich ist (
startOfDay(),endOfMonth(),isFuture()). \n - Unveränderlichkeit (Immutable): Unterstützung für
CarbonImmutablefür sicheres Arbeiten mit Daten ohne Nebeneffekte. \n - Lokalisierung: integrierte Unterstützung für die Formatierung von Daten in verschiedenen Sprachen. \n
- Reichhaltige API: Hunderte von Methoden zur Manipulation, zum Vergleich, zur Formatierung und Berechnung von Daten. \n
- Intuitiver Vergleich: Methoden wie
isBefore(),isAfter(),isSameDay(). \n
Installation von Carbon
\n\nCarbon wird über Composer installiert – den Standard-Paketmanager für PHP. Wenn Sie Composer noch nicht haben, muss es installiert werden (siehe getcomposer.org).
\n\nÖffnen Sie ein Terminal im Stammverzeichnis Ihres Projekts und führen Sie den folgenden Befehl aus:
\n\ncomposer require nesbot/carbon\n\nNach erfolgreicher Installation erscheint in Ihrem Projekt ein Ordner vendor/ und eine Datei composer.json mit der hinzugefügten Abhängigkeit. Um Carbon in Ihrem Code zu verwenden, müssen Sie den Composer-Autoloader einbinden:
<?php\nrequire_once 'vendor/autoload.php';\n\nuse Carbon\\Carbon;\n\n// Jetzt kann Carbon verwendet werden\necho Carbon::now(); // 2025-04-03 15:30:00\n?>\n\nWichtig: Carbon erfordert PHP Version 8.0 oder höher (für die neuesten Versionen). Es wird empfohlen, PHP 8.1+ zu verwenden.
\n\nSchnellstart mit einem Codebeispiel
\n\nKommen wir direkt zur Praxis. Hier sind einige einfache Beispiele, die die Leistungsfähigkeit von Carbon demonstrieren:
\n\n<?php\nrequire_once 'vendor/autoload.php';\nuse Carbon\\Carbon;\n\n// Aktuelles Datum und Uhrzeit\n$now = Carbon::now();\necho "Jetzt: " . $now . "\\n"; // 2025-04-03 15:30:00\n\n// Datum aus einem String erstellen\n$birthday = Carbon::createFromDate(1990, 5, 15);\necho "Geburtstag: " . $birthday->format('d.m.Y') . "\\n"; // 15.05.1990\n\n// Manipulation von Daten\n$tomorrow = Carbon::tomorrow();\necho "Morgen: " . $tomorrow . "\\n";\n\n$nextWeek = Carbon::now()->addWeek();\necho "In einer Woche: " . $nextWeek . "\\n";\n\n// Differenz zwischen Daten\n$age = $birthday->diffInYears(Carbon::now());\necho "Alter: $age Jahre\\n"; // 34 oder 35\n\n// Bedingungen prüfen\n$date = Carbon::parse('2025-12-25');\nif ($date->isChristmas()) {\n echo "Es ist Weihnachten!\\n";\n}\n\n// Auch in der Bibliothek
Spring Data JPA für Java: Vollständige Anleitung mit Beispielen
Internationalisierung (i18n) in C# (.NET): Vollständige Anleitung
conditional-type-checks für TypeScript: Komplettguide mit Beispielen
Standard-Java-Bibliothek: Vollständiger Überblick für Anfänger und Profis