У Laravel покращено обробку enum-запитів завдяки підтримці значень за замовчуванням, що спростило валідацію та логіку запасних варіантів у ваших додатках
Раніше обробка відсутніх чи недійсних значень enum вимагала написання додаткового коду для забезпечення запасних варіантів. Тепер оновлений метод enum приймає третій параметр для значень за замовчуванням:
$reportFormat = request()->enum('format', ReportFormat::class, ReportFormat::PDF);
$sortDirection = request()->enum('direction', SortDirection::class, SortDirection::Ascending);
Ця вдала зміна зменшує кількість повторюваного коду та робить обробку enum більш декларативною у логіці вашого застосунку
class ReportController extends Controller
{
public function generateSalesReport(Request $request)
{
$configuration = [
'output_format' => $request->enum('format', OutputFormat::class, OutputFormat::Excel),
'time_range' => $request->enum('range', TimeRange::class, TimeRange::LastMonth),
'detail_level' => $request->enum('detail', DetailLevel::class, DetailLevel::Summary),
'export_type' => $request->enum('export', ExportType::class, ExportType::Download)
];
return $this->buildReport($configuration);
}
public function configureNotifications(Request $request)
{
$settings = [
'delivery_method' => $request->enum('method', DeliveryMethod::class, DeliveryMethod::Email),
'priority_level' => $request->enum('priority', Priority::class, Priority::Normal),
'frequency' => $request->enum('frequency', Frequency::class, Frequency::Weekly),
'format_type' => $request->enum('format', NotificationFormat::class, NotificationFormat::HTML)
];
$this->saveNotificationSettings($settings);
return response()->json(['status' => 'updated', 'settings' => $settings]);
}
private function buildReport(array $config)
{
$reportBuilder = new SalesReportBuilder();
return $reportBuilder
->setFormat($config['output_format'])
->setTimeRange($config['time_range'])
->setDetailLevel($config['detail_level'])
->setExportType($config['export_type'])
->generate();
}
}
Функція параметра за замовчуванням усуває необхідність в умовній логіці, роблячи обробку запитів на основі enum більш передбачуваною та легшою для підтримки у ваших Laravel-додатках
Ви хочете навчитися, як інтегрувати Google OAuth у вашому проекті Laravel, використовуючи Socialite? Дізнайтеся, як налаштувати доступ до сервісів Google, таких як Календар, у нашій сьогоднішній статті
Вам цікаво дізнатися, як спростити інтеграцію RabbitMQ у вашому Laravel-додатку? У нашій статті ми розглянемо пакет Simple RabbitMQ, який дозволяє легко налаштувати багатозʼєднання, публікувати повідомлення та обробляти черги за допомогою простого синтаксису. Читайте далі, щоб дізнатися більше!
Використання Vite для створення фронтенд-ресурсів у вашому додатку Laravel може бути захоплюючим, але іноді ви можете стикнутися з певними помилками. У цій статті ми розглянемо чотири поширені помилки, з якими ви можете зіткнутися, а також підкажемо способи їх усунення, щоб ви могли знову зосередитися на розробці вашого додатку