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.
This PR changes the way the deferred service provider is loaded after the ide-helper
ModelsCommand
is requested from the container.I only found out about this issue when using multiple packages using the
ModelsCommand
within theproviders
method of the deferred service provider. Where only one of the hooks was actually registered properly when running the models command.Apparently Laravel only allows a single deferred service provider to claim responsibility for a given class, interface, or service in the provides() method.
You can confirm this by checking the
bootstrap/cache/services.php
after a composer dump-autoload:After installing this package you can see it hijacked the binding:
To easiest solution is to use an alias for the ModelsCommand to prevent hijacking the binding. Resulting in a non-invasive binding.