From 33312e7a7482f496ea5a2aee098a9c2594419d57 Mon Sep 17 00:00:00 2001 From: hskwon Date: Tue, 29 Jul 2025 16:31:11 +0900 Subject: [PATCH] =?UTF-8?q?fix=20:=20Enum=20=EA=B0=9C=EB=B3=84=20=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=EB=A1=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...{BusinessStatus.php => EstimateStatus.php} | 0 app/Enums/OrderStatus.php | 57 +++++++++++++++++++ 2 files changed, 57 insertions(+) rename app/Enums/{BusinessStatus.php => EstimateStatus.php} (100%) create mode 100644 app/Enums/OrderStatus.php diff --git a/app/Enums/BusinessStatus.php b/app/Enums/EstimateStatus.php similarity index 100% rename from app/Enums/BusinessStatus.php rename to app/Enums/EstimateStatus.php diff --git a/app/Enums/OrderStatus.php b/app/Enums/OrderStatus.php new file mode 100644 index 0000000..d057b53 --- /dev/null +++ b/app/Enums/OrderStatus.php @@ -0,0 +1,57 @@ + '임시저장', + self::Submitted => '제출/확정', + self::Approved => '승인', + self::Rejected => '반려', + self::Cancelled => '취소', + }; + } +} + +/** + * 주문 상태 코드 Enum + */ +enum OrderStatus: string +{ + case Created = 'created'; + case Confirmed = 'confirmed'; + case InProgress = 'in_progress'; + case Completed = 'completed'; + case Cancelled = 'cancelled'; + + // 한글라벨 등 커스텀 메서드 + public function label(): string + { + return match($this) { + self::Created => '등록', + self::Confirmed => '승인', + self::InProgress => '진행중', + self::Completed => '완료', + self::Cancelled => '취소', + }; + } +} + +// 사용 +/*foreach (EstimateStatus::cases() as $status) { + echo $status->name; + echo $status->value; + echo $status->label(); +}*/