-
-
Notifications
You must be signed in to change notification settings - Fork 0
Feature Scopes
github-actions[bot] edited this page Jul 16, 2026
·
1 revision
Глобальный реестр процесса, именованные изолированные пространства и стандартный контейнерный интерфейс для передачи потребителям.
-
Registry::global()— общий реестр процесса (ленивый синглтон). -
Registry::scope('имя')— именованное пространство:scope('config')иscope('http')не пересекаются; повторный вызов возвращает тот же экземпляр. -
Registry::reset()— сброс глобального реестра и всех пространств (изоляция тестов). -
psr()— адаптерPsr\Container\ContainerInterfaceповерх реестра:get()отсутствующего ключа бросает исключение, реализующееNotFoundExceptionInterface; адаптер видит «живые» изменения реестра.
use CloudCastle\Registry\Registry;
Registry::scope('config')->set('лимит', 10);
Registry::scope('http')->set('timeout', 30);
Registry::scope('config')->int('лимит'); // 10
Registry::scope('http')->has('лимит'); // false — изоляция
// потребителю, ожидающему PSR-11
$container = Registry::scope('config')->psr();
$container->get('лимит'); // 10
$container->get('нет'); // NotFoundExceptionInterface
// в tearDown() тестов
Registry::reset();
CloudCastle Registry · · PHP 8.1+
GitHub · Packagist · Releases · Discussions
Email · Telegram · VK · Сетка · 💜 Поддержать проект
Исходники Wiki — каталог wiki/ в репозитории (синхронизация через GitHub Actions)