-
-
Notifications
You must be signed in to change notification settings - Fork 0
Feature Nil max
github-actions[bot] edited this page Jul 15, 2026
·
1 revision
Краевые значения RFC 9562: Nil (все биты 0) и Max (все биты 1) — «пустой» идентификатор и верхняя граница диапазона.
use CloudCastle\Uuid\Uuid;
use CloudCastle\Uuid\Ulid;
Uuid::nil()->toString(); // '00000000-0000-0000-0000-000000000000'
Uuid::max()->toString(); // 'ffffffff-ffff-ffff-ffff-ffffffffffff'
Uuid::nil()->isNil(); // true
Uuid::max()->isMax(); // true
Uuid::nil()->version(); // null — версия есть только у варианта RFC
Ulid::nil(); // '00000000000000000000000000'
Ulid::max(); // '7ZZZZZZZZZZZZZZZZZZZZZZZZZ'- Явные краевые значения для диапазонных запросов (
BETWEEN nil AND max). -
isNil()/isMax()— читаемые проверки вместо сравнения со строкой.
- Nil как «отсутствие значения» в БД хуже честного
NULL— используйте осознанно.
- Границы сканирования диапазонов по BINARY-колонке.
- Сигнальные значения в протоколах, где NULL недоступен.
- Nil UUID как дефолт колонки «чтобы не было NULL» без семантики.
flowchart LR
N["nil(): 16 × 0x00"] --> U[Uuid]
M["max(): 16 × 0xFF"] --> U
U --> C["isNil() / isMax() / сравнение"]
sequenceDiagram
participant A as Приложение
participant U as Uuid
A->>U: nil() / max()
U-->>A: краевое значение
A->>U: compareTo(любой) — nil ≤ x ≤ max
| Возможность | Uuid | ramsey/uuid | symfony/uid | 🏆 Победитель |
|---|---|---|---|---|
| Nil UUID | ✅ | ✅ | ✅ | Паритет |
| Max UUID | ✅ | ✅ | ✅ | Паритет |
| Nil/Max ULID | ✅ | — | ✅ | Uuid + symfony/uid |
| Проверки isNil()/isMax() | ✅ | Uuid |
CloudCastle Uuid · · PHP 8.1+
GitHub · Packagist · Releases · Discussions · Issues
Email · Telegram · VK · Сетка · 💜 Поддержать проект
Исходники Wiki — каталог wiki/ в репозитории (синхронизация через GitHub Actions)