PHPLIB-980: Make uri parameter for MongoDB\Client::__construct nullable #986
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.
PHPLIB-980
I decided to only make the
$uri
parameter nullable. While we could widen the types of both options parameters (constructors are excluded from contravariance checks), I believe this is contra-productive. The signature ofMongoDB\Manager
historically allowednull
, but it's preferable to not allownull
and instead default to an empty array. This is something I'd like to change in version 2.0 of the extension.This also becomes a non-issue starting with PHP 8, as users can use named parameters if they want to only pass a single option:
This makes using
null
as an easy default value easier.For convenience and documentation purposes, I've also extracted the default URI into a public constant.