گاهی اوقات ، در هنگام کدنویسی با فریم ورک لاراول نیازمند این موضوع می شویم که از enum استفاده کنیم و چون PHP به صورت پیش فرض از enum ها مانند زبان های جاوا , ++C و... ، پشتیبانی نمی کند ، میتوانیم از پکیج های پیاده سازی شده برای این کار استفاده کنیم .
پکیچ cerbero/laravel-enum این کار را برای ما فراهم می کند .
برای نصب این پکیج در پروژه لاراولی خود ، ابتدا باید آن را به وسیله کامپوزر دانلود کنیم :
composer require cerbero/laravel-enum​


بعد از نصب میتوانیم به شکل زیر استفاده کنیم ، فرض کنید می خواهیم دوره پرداخت حق اشتراک کاربران را در یک enum نگه داری کنیم :

php artisan make:enum AccountType "FREE|MONTHLY|YEARLY"


بعد از اجرای این دستور ، در دایرکتوری app\Enums یک فایل به نام AccountType.php ساخته می شود که دارای محتویات زیر می باشد :

<?php

namespace App\Enums;

use Rexlabs\Enum\Enum;

/**
 * The AccountType enum.
 *
 * @method static self FREE()
 * @method static self MONTHLY()
 * @method static self YEARLY()
 */
class AccountType extends Enum
{
    const FREE = 'free';
    const MONTHLY = 'monthly';
    const YEARLY = 'yearly';
}



هنگام ساخت enum می توانیم ، مقدار های پیش فرض هم برای آن تعیین کنیم ، به عنوان مثال میخواهیم اندازه سایز avatar کاربران را در یک anum نگه داری کنیم:

php artisan make:enum AvatarSize "SMALL=24x24|MEDIUM=48x48|LARGE=128x128"


بعد از اجرای کد بالا یک کلاس به نام AvatarSize ساخته می شود:

<?php

namespace App\Enums;

use Rexlabs\Enum\Enum;

/**
 * The AvatarSize enum.
 *
 * @method static self SMALL()
 * @method static self MEDIUM()
 * @method static self LARGE()
 */
class AvatarSize extends Enum
{
    const SMALL = '24x24';
    const MEDIUM = '48x48';
    const LARGE = '128x128';
}


حالا می توانیم از enum ساخته شده در برنامه خود استفاده کنیم .