Laravel Параметры от Spatie — это пакет для создания списков опций из разных источников:
Типичное веб-приложение всегда имеет много полей выбора с опциями. Этот пакет упрощает преобразование перечислений, моделей, состояний и массивов в единую структуру параметров.
Пример из файла readme иллюстрирует, как этот пакет может упростить работу с параметрами select в приложениях Laravel. Имея перечисление, вы можете использовать этот пакет для создания параметров:
enum Hobbit: string
{
case Frodo = 'frodo';
case Sam = 'sam';
case Merry = 'merry';
case Pippin = 'pippin';
}
Options::forEnum(Hobbit::class)->toArray();
/* returns the following array
[
['label' => 'Frodo', 'value' => 'frodo'],
['label' => 'Sam', 'value' => 'sam'],
['label' => 'Merry', 'value' => 'merry'],
['label' => 'Pippin', 'value' => 'pippin'],
]
*/
// Or return JSON
Options::forEnum(Hobbit::class)->toJson();
Вы не только можете использовать перечисления, но этот пакет также поддерживает данные из различных источников, в том числе: p>
- Models
- Model States (via Spatie Model States)
- Arrays
- Manually
Еще одна полезная функция заключается в том, что вы можете превратить свои параметры в правило проверки:
$request->validate([
// ['in:frodo,sam,merry,pippin']
'hobbit' => Options::forEnum(Hobbit::class)->toValidationRule()
]);
Вы можете узнать больше об этом пакете, получить полные инструкции по установке и просмотреть исходный код на GitHub. Кроме того, прочтите Представляем наш новый пакет параметров Laravel от Фрика Ван дер Хертена, чтобы получить представление об этом. и подробности об этом пакете.