[5.8] Bug fix related to extra calls to resolving callbacks (The other way) #27066
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.
(Following the currently open PR #27014) This is an other way of fixing the issue of "multiple calls to resolving callback" which came to my mind while I was under the shower today.🚿 🛀
Compared to the solution in: #27014 ,it requires a less code and is more understandable and logical.
Plus, it adds an opportunity to have a new feature to the IOC container for "resolving an object silently". (Which will suppress the resolving callbacks.)
for example :
makeSilent(...
This way we fire the callback attached to the interface and skip the re-firing it when resolving the implementation.
which makes more sense, because the callback was actually attached to the interface like this :
app()->bind(someInterface::class, 'Myclass'
); `Anyway I do not know which one you like most, so I leave them both open.