Description
Add first-class support for PHP 8.1+ enums in CRUD generation.
Proposed Syntax
php artisan crudify:generate Post \
--fields="title:string,status:enum:published,draft,archived,priority:enum:low,medium,high"
Generated Components
Example
// Generated Enum
enum PostStatus: string
{
case Published = 'published';
case Draft = 'draft';
case Archived = 'archived';
public function label(): string
{
return match($this) {
self::Published => 'Published',
self::Draft => 'Draft',
self::Archived => 'Archived',
};
}
public function color(): string
{
return match($this) {
self::Published => 'green',
self::Draft => 'yellow',
self::Archived => 'gray',
};
}
}
// Model cast
protected $casts = [
'status' => PostStatus::class,
];
Description
Add first-class support for PHP 8.1+ enums in CRUD generation.
Proposed Syntax
php artisan crudify:generate Post \ --fields="title:string,status:enum:published,draft,archived,priority:enum:low,medium,high"Generated Components
app/Enums/PostStatus.phpstringortinyIntegercolumnRule::enum(PostStatus::class)<select>or radio buttons with enum valuesExample