• Время чтения ~0 мин
  • 10.08.2022

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();

Вы не только можете использовать перечисления, но этот пакет также поддерживает данные из различных источников, в том числе:

Еще одна полезная функция заключается в том, что вы можете превратить свои параметры в правило проверки:

$request->validate([
    // ['in:frodo,sam,merry,pippin']
    'hobbit' => Options::forEnum(Hobbit::class)->toValidationRule()
]);

Вы можете узнать больше об этом пакете, получить полные инструкции по установке и просмотреть исходный код на GitHub. Кроме того, прочтите Представляем наш новый пакет параметров Laravel от Фрика Ван дер Хертена, чтобы получить представление об этом. и подробности об этом пакете.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

Про мене

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

Об авторе CrazyBoy49z
WORK EXPERIENCE
Контакты
Ukraine, Lutsk
+380979856297