Change from single provider to chain provider #8
+31
−8
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.
The ChainProvider is by far the most useful. This PR changes the package default to use it, with FreeGeoIpProvider as the default single member of the chain. Client code can then add additional providers just by adding to the providers config array.
Tests are updated accordingly. Because ChainProvider::$providers is protected, I had to add a test method to grab it with ReflectionClass. This feels a little wrong, but I didn't see a better place to put it in your existing test setup. Let me know if this should be revised.