• Czas czytania ~1 min
  • 07.03.2023

Laravel 9 jest tutaj i jest kilka nowych funkcji, z których możemy korzystać.

Ta seria będzie kontynuacją frameworka Laravel w wersji 9, a w każdym artykule przejrzymy nową funkcję!

  1. Episode 1: Laravel 9: Stub Migrations
  2. Episode 2: Laravel 9: New Designs
  3. Episode 3: Laravel 9: New Helpers
  4. Episode 4: Laravel 9: Enums!
  5. Episode 5: Laravel 9: Full Text Index & SwiftMailer

I tak! Wreszcie mamy oficjalne wsparcie dla Enums w php 8.1, chociaż moglibyśmy dodać je do frameworka Laravel, używając pakietów innych firm, takich jak spatie/enums.

Ale czym są wyliczenia w php?

Są to tylko obiekty singleton, a składnia do ich zdefiniowania jest następująca:

laravel 9 enums

Z radością, możemy zrobić tak wiele rzeczy z Laravel Enums aw tym artykule omówimy niektóre z najważniejszych zastosowań.

Laravel 9.x ma możliwość wpisania podpowiedzi na naszej trasie - pomyśl o tym jako wiązanie modelu trasy, ale zamiast modelu mamy wyliczenia! Zobaczmy przykład: i w web.php:

laravel 9 enums

Dzięki tym kodom Laravel automatycznie rozpozna typ kategorii i jeśli nie przekażemy żadnego z predefiniowanych typów, zwróci odpowiedź HTTP 404!

Możemy użyć enum() metody jako poniższego przykładu, aby utworzyć kolumnę z typem wyliczenia, po prostu bądź ostrożny, wybierając właściwą nazwę, ponieważ zmiana nazwy enum kolumny nie jest obecnie obsługiwana!

laravel 9 enums migrations

Teraz nasz najdroższy, elokwentny ORM pozwoli nam rzucić atrybuty do wyliczeń PHP. Musimy tylko użyć $casts tablicy właściwości w żądanym modelu:I możemy uzyskać bezpośredni dostęp do atrybutu:Według dokumentacji Laravel, Prawie wszystkie znane metody, których używamy w kolekcjach, są również dostępne na wyliczeniach takich jak:

laravel 9 enums casting

laravel 9 enums accessors

laravel 9 enums methods

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