Junior: питання на співбесіді з теми «Enums»
Найпопулярніші питання з реальних Laravel/PHP співбесід для всіх рівнів
Всі теми
Artisan
Authentication
Blade
Collections
Database
Debugging
Eloquent
Enums
Files
HTTP та Request
Mail
Middleware
MVC та архітектура
Pagination
Routing
Seeder
Testing
Архітектура
Безпека
Валідація
Конфігурація
Локалізація
Міграції
Сесії
1 питання
Backed enum - перелік зі скалярним значенням, прив'язаним до кожного кейса:
enum Status: string
{
case Draft = 'draft';
case Published = 'published';
}
Інтеграція з Laravel:
// каст у моделі - атрибут стає об'єктом enum
protected $casts = ['status' => Status::class];
// валідація
$request->validate(['status' => [Rule::enum(Status::class)]]);
// Route Model Binding теж резолвить enum з URL
Enum робить «магічні рядки» типобезпечними, а методи на enum (label(), color()) зручно інкапсулюють логіку відображення.