Skip to content

Quick start

github-actions[bot] edited this page Jul 16, 2026 · 1 revision

Быстрый старт

Установка

composer require cloudcastle/registry

Минимальный пример

<?php

declare(strict_types=1);

use CloudCastle\Registry\Registry;

// конфигурация с точечными путями
$config = new Registry(['db' => ['host' => 'localhost']]);
$config->set('db.port', 5432);

$config->get('db.host');          // 'localhost'
$config->int('db.port');          // 5432 — тип гарантирован
$config->string('db.port');      // TypeMismatchException

// ленивый сервис и защита
$config->defer('pdo', static fn (): PDO => new PDO('...'));
$config->lock('db.host');
$config->freeze();

Типовые сценарии

  • Слои конфигурации: new Registry($base)merge($envLayer)lock('секреты')freeze().
  • Реестр сервисов: defer для соединений, factory для request-scoped значений, psr() — потребителям, ожидающим PSR-11.
  • Изоляция подсистем: Registry::scope('billing'), Registry::scope('http'); в тестах — Registry::reset().

Дальше

Clone this wiki locally