نحوه تعریف:
برای تعریف یک Enum در PHP، از کلمه کلیدی
enum استفاده میکنیم. میتوانیم مقادیر مختلفی را به عنوان بخشی از Enum تعریف کنیم:enum Status: string {
case Pending = 'pending';
case Processing = 'processing';
case Complete = 'complete';
case Cancelled = 'cancelled';
}در این مثال، یک Enum به نام Status با چهار حالت مختلف تعریف شده است. هر کیس (
case) در Enum یک مقدار ثابت را نمایندگی میکند.کاربردها:
زمانی که میخواهید متغیرهایی داشته باشید که فقط میتوانند از میان یک مجموعه محدود از مقادیر انتخاب شوند میتوانید از enum ها استفاده کنید.
استفاده از Enumها به جای مقادیر رشتهای یا عددی، خوانایی کد را بهبود میبخشد.
از آنجا که Enumها فقط مقادیر مشخصی را میپذیرند، احتمال خطا در انتخاب مقادیر نامعتبر کاهش مییابد.
مثال:
enum Status: string {
case Pending = 'pending';
case Processing = 'processing';
case Complete = 'complete';
case Cancelled = 'cancelled';
}
function updateOrderStatus(Status $status) {
echo "Order status: " . $status->value . PHP_EOL;
}
updateOrderStatus(Status::Processing);در این مثال، تابع
updateOrderStatus یک پارامتر از نوع Status میپذیرد و مقدار آن را چاپ میکند.استفاده در سوئیچ کیسها:
Enumها را میتوان به راحتی در ساختارهایی مانند سوئیچ (
switch) استفاده کرد:enum Status: string {
case Pending = 'pending';
case Processing = 'processing';
case Complete = 'complete';
case Cancelled = 'cancelled';
}
$status = Status::Cancelled;
switch ($status) {
case Status::Pending:
echo "Order is pending.";
break;
case Status::Processing:
echo "Order is being processed.";
break;
case Status::Complete:
echo "Order is complete.";
break;
case Status::Cancelled:
echo "Order has been cancelled.";
break;
}در این مثال، بر اساس مقدار Status، پیام متفاوتی چاپ میشود. استفاده از Enumها در سوئیچ کیسها به کد شما اجازه میدهد تا به صورت واضح و مطمئن شرایط مختلف را بررسی کند.
Enumها، ابزار قدرتمندی برای مدیریت مجموعههای محدود از مقادیر هستند و به توسعهدهندگان کمک میکنند تا کدی ایمنتر، خواناتر و قابل نگهداریتر بنویسند.
👤 AmirHossein
💎 Channel: @DevelopixPHP