45 lines
1.2 KiB
PHP
45 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Enums;
|
|
|
|
use Carbon\Carbon;
|
|
|
|
enum ShiftDayEnum: string
|
|
{
|
|
use EnumHasOptions;
|
|
|
|
case Saturday = 'شنبه';
|
|
case Sunday = 'یکشنبه';
|
|
case Monday = 'دوشنبه';
|
|
case Tuesday = 'سهشنبه';
|
|
case Wednesday = 'چهارشنبه';
|
|
case Thursday = 'پنجشنبه';
|
|
case Friday = 'جمعه';
|
|
|
|
public function carbonDay(): int
|
|
{
|
|
return match ($this) {
|
|
self::Saturday => Carbon::SATURDAY,
|
|
self::Sunday => Carbon::SUNDAY,
|
|
self::Monday => Carbon::MONDAY,
|
|
self::Tuesday => Carbon::TUESDAY,
|
|
self::Wednesday => Carbon::WEDNESDAY,
|
|
self::Thursday => Carbon::THURSDAY,
|
|
self::Friday => Carbon::FRIDAY,
|
|
};
|
|
}
|
|
|
|
public static function fromDate(Carbon $date): self
|
|
{
|
|
return match ($date->dayOfWeek) {
|
|
Carbon::SATURDAY => self::Saturday,
|
|
Carbon::SUNDAY => self::Sunday,
|
|
Carbon::MONDAY => self::Monday,
|
|
Carbon::TUESDAY => self::Tuesday,
|
|
Carbon::WEDNESDAY => self::Wednesday,
|
|
Carbon::THURSDAY => self::Thursday,
|
|
Carbon::FRIDAY => self::Friday,
|
|
};
|
|
}
|
|
}
|