Carbon (Tarih ve Saat Yönetimi)
artiframe add carbon komutu, PHP'nin standart DateTime sınıfının yeteneklerini zirveye taşıyan nesbot/carbon kütüphanesini kurar.
Tarihleri karşılaştırmak, ekleme/çıkarma yapmak veya "3 gün önce", "1 ay sonra" gibi insan odaklı (human-readable) formatlar üretmek için sektör standardıdır.
💡 Bilgilendirme: Direkt Kullanım
ArtiFrame, bu paket için
ArtiFrame, bu paket için
src/Service klasörüne özel bir entegrasyon (Wrapper/Stub) sınıfı kopyalamaz. Kurulum yalnızca Composer üzerinden paketi projeye dahil eder.
Aşağıdaki kodlar, paketin kendi orijinal işleyişini gösteren basit kullanım örnekleridir. Daha fazlası için Carbon Dokümantasyonunu inceleyebilirsiniz.
Kurulum
terminal
$ artiframe add carbon
Kullanım Örneği
İpucu: Carbon, projenizde yer alan dil dosyalarınıza veya sunucunuzun
setlocale() ayarlarına saygı duyar. Türkçe kullanmak için Carbon::setLocale('tr'); diyebilirsiniz.
TimeController.php
<?php
use Carbon\Carbon;
// Dil ayarını Türkçe yapalım
Carbon::setLocale('tr');
// 1. Şu Anki Zaman
$now = Carbon::now();
echo $now->toDateTimeString(); // 2026-09-18 10:30:00
// 2. İnsan Odaklı Okuma (DiffForHumans)
$kayitTarihi = Carbon::create(2023, 1, 15);
echo "Kayıt Zamanı: " . $kayitTarihi->diffForHumans(); // "3 yıl önce" (gibi)
// Gelecek hesaplama
$bitisTarihi = Carbon::now()->addDays(15);
echo "Üyelik Bitişi: " . $bitisTarihi->diffForHumans(); // "15 gün sonra"
// 3. Yaş / Süre Hesaplama
$dogumGunu = Carbon::parse('1995-05-20');
echo "Yaşınız: " . $dogumGunu->age; // 31 (2026 yılına göre)
// 4. Zaman Manipülasyonları
$sonTarih = Carbon::now()
->addYears(1)
->subMonths(2)
->endOfMonth();
echo "Kampanya Son Tarihi: " . $sonTarih->format('d/m/Y');
// 5. Karşılaştırmalar
if (Carbon::now()->isWeekend()) {
echo "Bugün haftasonu!";
}
if ($dogumGunu->isPast()) {
echo "Doğum gününüz geçmiş.";
}