Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
normalizeKeys example
->
arrayNode
(
'some_clever_name'
)
->
children
(
)
->
scalarNode
(
'first'
)
->
end
(
)
->
scalarNode
(
'second'
)
->
end
(
)
->
scalarNode
(
'third'
)
->
end
(
)
->
end
(
)
->
end
(
)
->
arrayNode
(
'messenger'
)
->
children
(
)
->
arrayNode
(
'transports'
)
->
normalizeKeys
(
false
)
->
useAttributeAsKey
(
'name'
)
->
arrayPrototype
(
)
->
fixXmlConfig
(
'option'
)
->
children
(
)
->
scalarNode
(
'dsn'
)
->
end
(
)
->
scalarNode
(
'serializer'
)
->
defaultNull
(
)
->
end
(
)
->
arrayNode
(
'options'
)
->
normalizeKeys
(
false
)
->
defaultValue
(
[
]
)
->
prototype
(
'variable'
)
->
end
(
)
->
beforeNormalization
(
)
->
ifString
(
)
->
then
(
fn
(
$v
)
=>
$v
?
array_map
(
'trim',
explode
(
',',
$v
)
)
:
[
]
)
->
end
(
)
->
enumPrototype
(
)
->
values
(
[
'*', 'cache', 'cookies', 'storage', 'executionContexts',
]
)
->
end
(
)
->
end
(
)
->
end
(
)
->
fixXmlConfig
(
'delete_cookie'
)
->
children
(
)
->
arrayNode
(
'delete_cookies'
)
->
normalizeKeys
(
false
)
->
beforeNormalization
(
)
->
ifTrue
(
fn
(
$v
)
=> \
is_array
(
$v
)
&& \
is_int
(
key
(
$v
)
)
)
->
then
(
fn
(
$v
)
=>
array_map
(
fn
(
$v
)
=>
[
'name' =>
$v
]
,
$v
)
)
->
end
(
)
->
useAttributeAsKey
(
'name'
)
->
prototype
(
'array'
)
->
children
(
)
->
scalarNode
(
'path'
)
->
defaultNull
(
)
->
end
(
)
->
scalarNode
(
'domain'
)
->
defaultNull
(
)
->
end
(
)
->
scalarNode
(
'secure'
)
->
defaultFalse
(
)
->
end
(
)
->
scalarNode
(
'samesite'
)
->
defaultNull
(
)
->
end
(
)
->
end
(
)
->
isRequired
(
)
->
requiresAtLeastOneElement
(
)
->
prototype
(
'array'
)
->
children
(
)
->
scalarNode
(
'name'
)
->
isRequired
(
)
->
cannotBeEmpty
(
)
->
end
(
)
->
arrayNode
(
'data'
)
->
normalizeKeys
(
false
)
->
defaultValue
(
[
]
)
->
prototype
(
'variable'
)
->
end
(
)
->
end
(
)
->
end
(
)
->
end
(
)
->
end
(
)
->
arrayNode
(
'keyed_list_object'
)
->
useAttributeAsKey
(
'class'
)
->
prototype
(
'array'
)
->
beforeNormalization
(
)
->
ifTrue
(
fn
(
$v
)
=> !\
is_array
(
$v
)
)
$this
->
assertEquals
(
$node
,
$result
)
;
$this
->
assertTrue
(
$this
->
getField
(
$node
, 'ignoreExtraKeys'
)
)
;
}
public
function
testNormalizeKeys
(
)
{
$node
=
new
ArrayNodeDefinition
(
'root'
)
;
$this
->
assertTrue
(
$this
->
getField
(
$node
, 'normalizeKeys'
)
)
;
$result
=
$node
->
normalizeKeys
(
false
)
;
$this
->
assertEquals
(
$node
,
$result
)
;
$this
->
assertFalse
(
$this
->
getField
(
$node
, 'normalizeKeys'
)
)
;
}
public
function
testUnsetChild
(
)
{
$node
=
new
ArrayNodeDefinition
(
'root'
)
;
$node
->
children
(
)
->
scalarNode
(
'value'
)
->
end
(
)
->
isRequired
(
)
->
requiresAtLeastOneElement
(
)
->
prototype
(
'array'
)
->
children
(
)
->
scalarNode
(
'name'
)
->
isRequired
(
)
->
cannotBeEmpty
(
)
->
end
(
)
->
arrayNode
(
'metadata'
)
->
normalizeKeys
(
false
)
->
defaultValue
(
[
]
)
->
example
(
[
'color' => 'blue', 'description' => 'Workflow to manage article.'
]
)
->
prototype
(
'variable'
)
->
end
(
)
->
end
(
)
->
end
(
)
->
end
(
)
->
end
(
)
->
arrayNode
(
'transitions'
)
->
beforeNormalization
(
)
->
always
(
)
->
end
(
)
->
end
(
)
;
}
private
function
addGlobalsSection
(
ArrayNodeDefinition
$rootNode
)
: void
{
$rootNode
->
fixXmlConfig
(
'global'
)
->
children
(
)
->
arrayNode
(
'globals'
)
->
normalizeKeys
(
false
)
->
useAttributeAsKey
(
'key'
)
->
example
(
[
'foo' => '@bar', 'pi' => 3.14
]
)
->
prototype
(
'array'
)
->
normalizeKeys
(
false
)
->
beforeNormalization
(
)
->
ifTrue
(
fn
(
$v
)
=> \
is_string
(
$v
)
&&
str_starts_with
(
$v
, '@'
)
)
->
then
(
function
D
$v
)
{
if
(
str_starts_with
(
$v
, '@@'
)
)
{
return
substr
(
$v
, 1
)
;
}
->
end
(
)
->
end
(
)
->
end
(
)
->
info
(
'looks for translation in old fashion way'
)
->
setDeprecated
(
'symfony/config', '6.0'
)
->
end
(
)
->
end
(
)
->
end
(
)
->
arrayNode
(
'messenger'
)
->
children
(
)
->
arrayNode
(
'routing'
)
->
normalizeKeys
(
false
)
->
useAttributeAsKey
(
'message_class'
)
->
prototype
(
'array'
)
->
performNoDeepMerging
(
)
->
fixXmlConfig
(
'sender'
)
->
children
(
)
->
arrayNode
(
'senders'
)
->
requiresAtLeastOneElement
(
)
->
prototype
(
'scalar'
)
->
end
(
)
->
end
(
)
->
end
(
)
->
end
(
)
/** * @return void */
public
function
addConfiguration
(
NodeDefinition
$node
)
{
$node
->
fixXmlConfig
(
'user'
)
->
children
(
)
->
arrayNode
(
'users'
)
->
useAttributeAsKey
(
'identifier'
)
->
normalizeKeys
(
false
)
->
prototype
(
'array'
)
->
children
(
)
->
scalarNode
(
'password'
)
->
defaultNull
(
)
->
end
(
)
->
arrayNode
(
'roles'
)
->
beforeNormalization
(
)
->
ifString
(
)
->
then
(
fn
(
$v
)
=>
preg_split
(
'/\s*,\s*/',
$v
)
)
->
end
(
)
->
prototype
(
'scalar'
)
->
end
(
)
->
end
(
)
->
end
(
)
->
end
(
)
->
end
(
)
->
end
(
)
;