[7.x] Fix null value injected from container in routes#31867
Merged
taylorotwell merged 2 commits intolaravel:7.xfrom Mar 12, 2020
Merged
[7.x] Fix null value injected from container in routes#31867taylorotwell merged 2 commits intolaravel:7.xfrom
taylorotwell merged 2 commits intolaravel:7.xfrom
Conversation
Contributor
Author
|
StyleCI's not happy, but I'm not comfortable with the change proposed, as it makes the function not understandable. - $container->bind(RoutingTestUserModel::class, function() {
- return null;
+ $container->bind(RoutingTestUserModel::class, function () {
}); |
Collaborator
|
Laravel's code standard is like this because when a fucntion that has no return statement is called and the result is used or assigned to a variable, it is the same as using the value |
Contributor
|
I actually tried to fix this about 2 weeks ago and my patch was so bad that I never sent it. This looks like a really good patch with minor code changes to fix a moderate problem. |
Contributor
mpyw
reviewed
Mar 10, 2020
Co-Authored-By: mpyw <ryosuke_i_628@yahoo.co.jp>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Hi,
This PR fixes laravel/ideas#2114 (no idea why this bug have been moved to ideas, maybe I haven't made me understood 😕)
Context:
When injecting something witch can be null, the
\Illuminate\Routing\RouteDependencyResolverTrait::resolveMethodDependenciesmethod doesn't add it to parameters to inject, because it can't difference it from void return.I've added a default return value, to indicate that we want to strip the value, to allow null value.
You can reproduce the bug with:
And see the errors thrown:
Thanks.
Matt'
PS: If you read this, and can answer to this https://twitter.com/mathieutu/status/1236997027122249728?s=20, I would like to propose a PR for the router with a quite important breaking change, and so understand why the behavior of Laravel routing is like that, and why it is different from standard one.
Thanks.