Приклади
Приклад #1 Базові обмежені значення
Loading...
Функцияquery()
тепер може безпечно працювати, знаючи, що параметр $order
гарантовано буде або варіантом SortOrder::Asc
, або варіантом SortOrder::Desc
. Будь-яке інше значення призвело б до виключення TypeErrorтому перевірка помилок або тестування не потрібні.
Приклад #2 Розширені ексклюзивні значення
Loading...
У цьому прикладі статус користувача може бути виключно одним із таких варіантів: UserStatus::Pending
UserStatus::Active
UserStatus::Suspended
илиUserStatus::CanceledByUser
. Функція може ввести параметр UserStatus
а потім прийняти тільки ці чотири значення, точка.
У всіх чотирьох значень є метод label()
, який повертає рядок, що легко читається. Цей рядок не залежить від скалярного еквівалентного рядка "machine name", який можна використовувати, наприклад, у полі бази даних або значення випадаючого списку HTML.
Loading...