Skip to content

Commit 65075f6

Browse files
committed
Removed the setNormalizer in the OptionsResolver to allow usage of this library from Symfony 2.1+.
1 parent cb4260e commit 65075f6

2 files changed

Lines changed: 40 additions & 32 deletions

File tree

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
"php": ">=5.4.0",
1717
"ext-curl": "*",
1818
"symfony/event-dispatcher": "~2.1",
19-
"symfony/options-resolver": "~2.6",
19+
"symfony/options-resolver": "~2.1",
2020
"guzzlehttp/guzzle": "~5.0",
2121
"guzzlehttp/cache-subscriber": "~0.2@dev",
2222
"guzzlehttp/log-subscriber": "~1.0",

lib/Tmdb/Client.php

Lines changed: 39 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -213,14 +213,6 @@ protected function configureOptions(array $options)
213213
'log' => [],
214214
]);
215215

216-
$resolver->setNormalizer('base_url', function ($options, $value) {
217-
return sprintf(
218-
'%s://%s',
219-
$options['secure'] ? self::SCHEME_SECURE : self::SCHEME_INSECURE,
220-
$options['host']
221-
);
222-
});
223-
224216
$resolver->setRequired([
225217
'adapter',
226218
'host',
@@ -231,23 +223,16 @@ protected function configureOptions(array $options)
231223
'log'
232224
]);
233225

234-
$resolver->setAllowedTypes('adapter', ['object', 'null']);
235-
$resolver->setAllowedTypes('host', 'string');
236-
$resolver->setAllowedTypes('secure', 'bool');
237-
$resolver->setAllowedTypes('token', 'object');
238-
$resolver->setAllowedTypes('session_token', ['object', 'null']);
239-
$resolver->setAllowedTypes('event_dispatcher', 'object');
226+
$resolver->setAllowedTypes(['adapter' => ['object', 'null']]);
227+
$resolver->setAllowedTypes(['host' => 'string']);
228+
$resolver->setAllowedTypes(['secure' => 'bool']);
229+
$resolver->setAllowedTypes(['token' => 'object']);
230+
$resolver->setAllowedTypes(['session_token' => ['object', 'null']]);
231+
$resolver->setAllowedTypes(['event_dispatcher' => 'object']);
240232

241233
$this->options = $resolver->resolve($options);
242234

243-
if (!$this->options['adapter']) {
244-
$this->options['adapter'] = new GuzzleAdapter(
245-
new \GuzzleHttp\Client(['base_url' => $this->options['base_url']])
246-
);
247-
}
248-
249-
$this->options['cache'] = $this->configureCacheOptions($options);
250-
$this->options['log'] = $this->configureLogOptions($options);
235+
$this->postResolve($options);
251236

252237
return $this->options;
253238
}
@@ -274,10 +259,10 @@ protected function configureCacheOptions(array $options = [])
274259
'handler',
275260
]);
276261

277-
$resolver->setAllowedTypes('enabled', 'bool');
278-
$resolver->setAllowedTypes('handler', ['object', 'null']);
279-
$resolver->setAllowedTypes('subscriber', ['object', 'null']);
280-
$resolver->setAllowedTypes('path', ['string', 'null']);
262+
$resolver->setAllowedTypes(['enabled' => ['bool']]);
263+
$resolver->setAllowedTypes(['handler' => ['object', 'null']]);
264+
$resolver->setAllowedTypes(['subscriber' => ['object', 'null']]);
265+
$resolver->setAllowedTypes(['path' => ['string', 'null']]);
281266

282267
$options = $resolver->resolve(array_key_exists('cache', $options) ? $options['cache'] : []);
283268

@@ -314,11 +299,11 @@ protected function configureLogOptions(array $options = [])
314299
'handler',
315300
]);
316301

317-
$resolver->setAllowedTypes('enabled', 'bool');
318-
$resolver->setAllowedTypes('level', 'int');
319-
$resolver->setAllowedTypes('handler', ['object', 'null']);
320-
$resolver->setAllowedTypes('path', ['string', 'null']);
321-
$resolver->setAllowedTypes('subscriber', ['object', 'null']);
302+
$resolver->setAllowedTypes(['enabled' => 'bool']);
303+
$resolver->setAllowedTypes(['level' =>'int']);
304+
$resolver->setAllowedTypes(['handler' => ['object', 'null']]);
305+
$resolver->setAllowedTypes(['path' => ['string', 'null']]);
306+
$resolver->setAllowedTypes(['subscriber' => ['object', 'null']]);
322307

323308
$options = $resolver->resolve(array_key_exists('log', $options) ? $options['log'] : []);
324309

@@ -331,4 +316,27 @@ protected function configureLogOptions(array $options = [])
331316

332317
return $options;
333318
}
319+
320+
/**
321+
* Post resolve
322+
*
323+
* @param array $options
324+
*/
325+
protected function postResolve(array $options = [])
326+
{
327+
$this->options['base_url'] = sprintf(
328+
'%s://%s',
329+
$this->options['secure'] ? self::SCHEME_SECURE : self::SCHEME_INSECURE,
330+
$this->options['host']
331+
);
332+
333+
if (!$this->options['adapter']) {
334+
$this->options['adapter'] = new GuzzleAdapter(
335+
new \GuzzleHttp\Client(['base_url' => $this->options['base_url']])
336+
);
337+
}
338+
339+
$this->options['cache'] = $this->configureCacheOptions($options);
340+
$this->options['log'] = $this->configureLogOptions($options);
341+
}
334342
}

0 commit comments

Comments
 (0)