Skip to content

Commit 72e7b7f

Browse files
committedOct 17, 2019
Update reader configuration to support array notation, so that config can be cached.
1 parent f576885 commit 72e7b7f

File tree

4 files changed

+20
-5
lines changed

4 files changed

+20
-5
lines changed
 

‎config/geocoder.php

+8
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,14 @@
9696
|
9797
| Default: null
9898
|
99+
| Example:
100+
| 'reader' => [
101+
| WebService::class => [
102+
| env('MAXMIND_USER_ID'),
103+
| env('MAXMIND_LICENSE_KEY')
104+
| ],
105+
| ],
106+
|
99107
*/
100108
'reader' => null,
101109

‎phpmd.xml

Whitespace-only changes.

‎src/ProviderAndDumperAggregator.php

+6-4
Original file line numberDiff line numberDiff line change
@@ -223,11 +223,13 @@ protected function getAdapterClass(string $provider) : string
223223

224224
protected function getReader()
225225
{
226+
$reader = config('geocoder.reader');
227+
226228
if (is_array(config('geocoder.reader'))) {
227-
$reflection = new ReflectionClass(config('geocoder.reader.class'));
228-
$reader = $reflection->newInstanceArgs(config('geocoder.reader.arguments'));
229-
} else {
230-
$reader = config('geocoder.reader');
229+
$readerClass = array_key_first(config('geocoder.reader'));
230+
$readerArguments = config('geocoder.reader')[$readerClass];
231+
$reflection = new ReflectionClass($readerClass);
232+
$reader = $reflection->newInstanceArgs($readerArguments);
231233
}
232234

233235
return $reader;

‎tests/config/testConfig.php

+6-1
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,10 @@
3838
],
3939
],
4040
'adapter' => Client::class,
41-
'reader' => new Reader(__DIR__ . '/../resources/assets/GeoLite2-City.mmdb'),
41+
// 'reader' => new Reader(__DIR__ . '/../resources/assets/GeoLite2-City.mmdb'),
42+
"reader" => [
43+
Reader::class => [
44+
__DIR__ . '/../resources/assets/GeoLite2-City.mmdb',
45+
],
46+
],
4247
];

0 commit comments

Comments
 (0)
Please sign in to comment.