Skip to content

Upgrading

github-actions[bot] edited this page Jun 25, 2026 · 1 revision

Обновление версий

Руководство по переходу между версиями cloudcastle/di.

1.0.3 → 1.1.0

Новые возможности (обратно совместимо)

Добавлены без breaking changes:

  • Autowiring: enableAutowiring(), disableAutowiring(), autowire(), расширенный get() / has()
  • Attributes: CloudCastle\DI\Attribute\Inject, Autowire
  • Intersection-типы и autowiring по имени: enableParameterNameAutowiring() (по умолчанию выключен)
  • Autowiring свойств и методов: enablePropertyAutowiring(), enableMethodAutowiring(); attributes на property/method — всегда
  • Сканирование: scan($directory, $namespace?)
  • Tagged services и декораторы: tag(), getTagged(), decorate()
  • Глобальный реестр: ContainerRegistry::set() / get() / has() / reset()
  • Классы: Autowirer, MemberResolver, PropertyInjector, MethodInjector, ClassScanner, ParameterTypeResolver, ClassDependencyResolver, IntersectionTypeResolver, AttributeServiceIdReader

Существующий код с только set() / get() работает без изменений.

Рекомендуемые шаги миграции

  1. Обновите пакет:
composer update cloudcastle/di
  1. При желании включите autowiring в bootstrap вместо ручного set() для каждого класса.

  2. Если используете ContainerRegistry, вызывайте ContainerRegistry::reset() в PHPUnit tearDown.

  3. Прочитайте Autowiring и Анти-паттерны перед scan() всего src/.

1.0.2 → 1.0.3

Изменений в публичном API нет. Wiki, CI и dev-зависимости.

1.0.1 → 1.0.2

Изменений в публичном API нет. Keywords/description на Packagist.

1.x → 2.0 (будущее)

Major-версия будет описана здесь и в CHANGELOG.

Общие рекомендации

  1. Прочитайте CHANGELOG для выбранной версии.
  2. Запустите тесты проекта после composer update.
  3. Issues · Discussions Q&A

Clone this wiki locally