[5.5] Ensure config load order across multiple installations #21634
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.
After reading this article it concerned me that the load order of config files could lead to inconsistent behaviour across multiple installations.
Although I agree with the original author that you shouldn't use
config()
inside config files, I do think that its a reasonable mistake to make, especially if your new to Laravel and there is merit in fixing the issue with consistency. A developer may only realise that the bug exists once it is deployed to a live environment even though it has passed testing in a matching test/dev environment.This pull request addresses this issue by naturally sorting the array of config files, ensuring that they are loaded in a deterministic order therefore protecting developers from this subtle bug.