• Час читання ~1 хв
  • 07.03.2023

Laravel 9 тут, і є деякі нові функції, які ми можемо використовувати.

Ця серія буде продовженням про фреймворк Laravel версії 9, і в кожній статті ми розглянемо нову функцію!

  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

І так! Нарешті, у нас є офіційна підтримка Enums у php 8.1, хоча ми могли б додати їх до фреймворку Laravel, використовуючи сторонні пакети, такі як spatie/enums.

Але що таке enums в php?

Вони є лише однотонними об'єктами, і синтаксис для їх визначення такий:

laravel 9 enums

З радістю, ми можемо зробити так багато речей з Laravel Enums, і в цій статті ми розглянемо деякі з найважливіших застосувань.

Laravel 9.x має можливість вводити підказку на нашому маршруті¦ думайте про це як про прив'язку маршрутної моделі, але замість моделі у нас є enums! Нехай подивіться приклад:і в web.php:

laravel 9 enums

За допомогою цих кодів Laravel автоматично розпізнає тип категорії, і якщо ми не передамо жодного з попередньо визначених типів, він поверне відповідь HTTP 404!

Ми можемо використовувати enum() метод як наступний приклад для створення стовпця з типом enum, просто будьте обережні, вибираючи власне ім'я, оскільки перейменування стовпця enum наразі не підтримується!

laravel 9 enums migrations

Тепер наш найдорожчий, Eloquent ORM дозволить нам прив'язати атрибути до перерахувань PHP. Нам просто потрібно використовувати $casts масив властивостей у бажаній моделі:І ми можемо отримати доступ до атрибуту безпосередньо:

laravel 9 enums casting

Згідно з документами Laravel, Майже всі відомі методи, які ми використовуємо в колекціях, також доступні на таких enums, як:

laravel 9 enums accessors

laravel 9 enums methods

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