Introduce the new v2 extension system #1091
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes phpro/grumphp-shim#20
This PR introduces a new GrumPHP extension system for v2.
Since the new implementation does not leak the dependency with
symfony/dependency-injection
to the PHP API of an extension, we can make any extension work in grumphp-shim (PHAR distribition) with scoped dependencies as well.A well calculated downside of this, is that an extension maintainer is now forced to configure the service declarations in a separate YAML (or xml, ...) file where previously this could be done directly from PHP.
Breaking change:
And make sure all services are registered through a
symfony/dependency-injection
compatible configuration file.(YAML, XML, INI, ...) - PHP is not supported because of the scoped vendor in the PHAR.
More info : https://symfony.com/doc/current/service_container.html