Skip to content

Replace illuminate/container with entropy container#17

Merged
TomasVotruba merged 2 commits into
mainfrom
pr-13
Jun 10, 2026
Merged

Replace illuminate/container with entropy container#17
TomasVotruba merged 2 commits into
mainfrom
pr-13

Conversation

@TomasVotruba

Copy link
Copy Markdown
Member

ECSConfig now extends Entropy\Container\Container instead of Illuminate's:

  • Checkers are registered as container service factories that autowire (via Container::build()) then apply their configuration; collectors receive them through docblock array autowiring / findByContract instead of Laravel tags and contextual bindings (when()->needs()->giveTagged()).
  • findByContract() is overridden to preserve checker registration order and the documented duplicate-in-set behaviour (discussion #198).
  • Compiler passes operate on ECSConfig::getCheckerClasses()/removeChecker() instead of Laravel getBindings()/offsetUnset()/tags reflection.
  • LazyContainerFactory registers custom-factory services via service(); plain services are autowired and cached by the container.

Removes the illuminate/container dependency and its patch. entropy/entropy is temporarily pinned to the feature branch (TomasVotruba/entropy#8) via a VCS repository until that PR is merged.

symfony/console is intentionally untouched: it remains a transitive dependency of friendsofphp/php-cs-fixer and symplify/easy-parallel, so it cannot be removed from the install tree.

ECSConfig now extends Entropy\Container\Container instead of Illuminate's:

- Checkers are registered as container service factories that autowire (via
  Container::build()) then apply their configuration; collectors receive them
  through docblock array autowiring / findByContract instead of Laravel tags
  and contextual bindings (when()->needs()->giveTagged()).
- findByContract() is overridden to preserve checker registration order and the
  documented duplicate-in-set behaviour (discussion #198).
- Compiler passes operate on ECSConfig::getCheckerClasses()/removeChecker()
  instead of Laravel getBindings()/offsetUnset()/tags reflection.
- LazyContainerFactory registers custom-factory services via service(); plain
  services are autowired and cached by the container.

Removes the illuminate/container dependency and its patch. entropy/entropy is
temporarily pinned to the feature branch (TomasVotruba/entropy#8) via a VCS
repository until that PR is merged.

symfony/console is intentionally untouched: it remains a transitive dependency
of friendsofphp/php-cs-fixer and symplify/easy-parallel, so it cannot be
removed from the install tree.
@TomasVotruba TomasVotruba changed the title Replace illuminate/container with entropy container Replace illuminate/container with entropy container :party: Jun 10, 2026
@TomasVotruba TomasVotruba changed the title Replace illuminate/container with entropy container :party: Replace illuminate/container with entropy container Jun 10, 2026
@TomasVotruba TomasVotruba merged commit 9a00ea6 into main Jun 10, 2026
7 checks passed
@TomasVotruba TomasVotruba deleted the pr-13 branch June 10, 2026 13:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant