Added a shortcut syntax for the configuration of sessions
This commit is contained in:
@@ -97,7 +97,28 @@ class Extension implements ExtensionInterface
|
|||||||
*/
|
*/
|
||||||
public function configure(ArrayNodeDefinition $builder)
|
public function configure(ArrayNodeDefinition $builder)
|
||||||
{
|
{
|
||||||
|
// Rewrite keys to define a shortcut way without allowing conflicts with real keys
|
||||||
|
$renamedKeys = array_diff(
|
||||||
|
array_keys($this->driverFactories),
|
||||||
|
array('mink_loader', 'base_url', 'files_path', 'show_auto', 'show_cmd', 'show_tmp_dir', 'default_session', 'javascript_session', 'browser_name', 'sessions')
|
||||||
|
);
|
||||||
|
|
||||||
$builder
|
$builder
|
||||||
|
->beforeNormalization()
|
||||||
|
->always()
|
||||||
|
->then(function ($v) use ($renamedKeys) {
|
||||||
|
foreach ($renamedKeys as $driverType) {
|
||||||
|
if (!array_key_exists($driverType, $v) || isset($v['sessions'][$driverType])) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$v['sessions'][$driverType][$driverType] = $v[$driverType];
|
||||||
|
unset($v[$driverType]);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $v;
|
||||||
|
})
|
||||||
|
->end()
|
||||||
->addDefaultsIfNotSet()
|
->addDefaultsIfNotSet()
|
||||||
->children()
|
->children()
|
||||||
->scalarNode('mink_loader')->defaultNull()->end()
|
->scalarNode('mink_loader')->defaultNull()->end()
|
||||||
|
|||||||
Reference in New Issue
Block a user