• Czas czytania ~1 min
  • 10.08.2022

Laravel Opcje firmy Spatie to pakiet do tworzenia list opcji z różnych źródeł:

Typowa aplikacja internetowa zawsze ma wiele wybranych pól z opcjami. Ten pakiet ułatwia przekształcanie wyliczeń, modeli, stanów i tablic w ujednoliconą strukturę opcji.

Przykład z pliku readme ilustruje, jak ten pakiet może ułatwić pracę z wybranymi opcjami w aplikacjach Laravel. Biorąc pod uwagę wyliczenie, możesz użyć tego pakietu do zbudowania opcji:

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

Nie tylko możesz używać wyliczeń, ale ten pakiet obsługuje również dane z różnych źródeł, w tym:

Kolejną ciekawą funkcją jest to, że możesz zmienić swoje opcje w regułę weryfikacji:

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

Możesz dowiedzieć się więcej o tym pakiecie, uzyskać pełne instrukcje instalacji i wyświetlić kod źródłowy na GitHub. Przeczytaj także Przedstawiamy nasz nowy pakiet Laravel Options autorstwa Freeka Van der Hertena, aby uzyskać tło i szczegóły dotyczące tego pakietu.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

O

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...

O autorze CrazyBoy49z
WORK EXPERIENCE
Kontakt
Ukraine, Lutsk
+380979856297