
Mengatur Default Hari Weekend dan Weekday di Carbon
Dalam beberapa kasus, definisi akhir pekan (weekend) dan hari kerja (weekday) bisa berbeda berdasarkan kebutuhan aplikasi. Misalnya, kamu mungkin ingin mengatur hari Jumat hingga Sabtu sebagai akhir pekan dan Minggu hingga Kamis sebagai hari kerja. Di Carbon, ini bisa dilakukan dengan membuat subclass dari Carbon dan mengoverride metode isWeekend().
Langkah 1: Buat CustomCarbon Class
Pertama, kita akan membuat subclass dari Carbon untuk mengubah perilaku default isWeekend() dan isWeekday().
-
Buka proyek Laravel kamu dan buat file baru di dalam direktori
app. Beri nama file iniCustomCarbon.php. ini bebas saja ya, Kamu juga bisa membuat nama kelas yang lain misalCustomWeekend.phpatau yang lain, tapi untuk kali ini Aku membuatnya dengan nama seperti yang disebutkan diatas. -
Tambahkan kode berikut ke dalam file
CustomCarbon.php:<?php namespace App; use Carbon\Carbon; class CustomCarbon extends Carbon { // Override metode isWeekend public function isWeekend() { // Cek apakah hari ini adalah Jumat atau Sabtu return $this->dayOfWeek === Carbon::FRIDAY || $this->dayOfWeek === Carbon::SATURDAY; } // Override metode isWeekday public function isWeekday() { // Cek apakah hari ini adalah Minggu sampai Kamis return !$this->isWeekend(); } }
Langkah 2: Menggunakan CustomCarbon di Aplikasi
Sekarang, mari kita gunakan CustomCarbon di dalam aplikasi Laravel kamu untuk mengecek apakah hari tertentu adalah weekend atau weekday.
-
Buka salah satu controller atau buat controller baru. Misalnya, kamu bisa menggunakan
HomeController. -
Tambahkan kode berikut ke dalam metode di controller tersebut:
namespace App\Http\Controllers; use App\CustomCarbon; use Illuminate\Http\Request; class HomeController extends Controller { public function index() { // Buat tanggal menggunakan CustomCarbon $date1 = CustomCarbon::parse('2024-08-30'); // Jumat $date2 = CustomCarbon::parse('2024-08-31'); // Sabtu $date3 = CustomCarbon::parse('2024-09-01'); // Minggu // Cek apakah tanggal tersebut adalah weekend $isDate1Weekend = $date1->isWeekend() ? 'Weekend' : 'Weekday'; $isDate2Weekend = $date2->isWeekend() ? 'Weekend' : 'Weekday'; $isDate3Weekend = $date3->isWeekend() ? 'Weekend' : 'Weekday'; // Tampilkan hasilnya return view('welcome', compact('isDate1Weekend', 'isDate2Weekend', 'isDate3Weekend')); } } -
Buka view
welcome.blade.phpatau view lain yang digunakan di controller tersebut, dan tambahkan kode berikut untuk menampilkan hasilnya:<div> <p>2024-08-30 (Jumat) adalah: {{ $isDate1Weekend }}</p> <p>2024-08-31 (Sabtu) adalah: {{ $isDate2Weekend }}</p> <p>2024-09-01 (Minggu) adalah: {{ $isDate3Weekend }}</p> </div>
Langkah 3: Uji Coba di Browser
-
Jalankan server Laravel dengan perintah berikut di terminal:
php artisan serve -
Buka browser dan arahkan ke
http://localhost:8000. -
Lihat hasilnya, kamu akan melihat bahwa tanggal yang ditentukan sebagai Jumat dan Sabtu akan dianggap sebagai weekend, dan Minggu akan dianggap sebagai weekday.
Kesimpulan
Dengan tutorial ini, kamu telah berhasil mengatur default weekend dan weekday di Carbon sesuai kebutuhan spesifik aplikasi kamu. Dengan membuat subclass dari Carbon dan mengoverride metode isWeekend() dan isWeekday(), kamu bisa menyesuaikan definisi akhir pekan dan hari kerja dalam proyek Laravel.
What do you think?
Reactions



