Приклади

Приклад #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...