Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
canBeUnset example
public
function
testUnsetKey
(
)
{
$tb
=
new
TreeBuilder
(
'root', 'array'
)
;
$tree
=
$tb
->
getRootNode
(
)
->
children
(
)
->
node
(
'foo', 'scalar'
)
->
end
(
)
->
node
(
'bar', 'scalar'
)
->
end
(
)
->
node
(
'unsettable', 'array'
)
->
canBeUnset
(
)
->
children
(
)
->
node
(
'foo', 'scalar'
)
->
end
(
)
->
node
(
'bar', 'scalar'
)
->
end
(
)
->
end
(
)
->
end
(
)
->
node
(
'unsetted', 'array'
)
->
canBeUnset
(
)
->
prototype
(
'scalar'
)
->
end
(
)
->
end
(
)
->
end
(
)
->
end
(
)
->
scalarNode
(
'scalar_default'
)
->
defaultValue
(
'default'
)
->
end
(
)
->
scalarNode
(
'scalar_array_empty'
)
->
defaultValue
(
[
]
)
->
end
(
)
->
scalarNode
(
'scalar_array_defaults'
)
->
defaultValue
(
[
'elem1', 'elem2'
]
)
->
end
(
)
->
scalarNode
(
'scalar_required'
)
->
isRequired
(
)
->
end
(
)
->
scalarNode
(
'scalar_deprecated'
)
->
setDeprecated
(
'vendor/package', '1.1'
)
->
end
(
)
->
scalarNode
(
'scalar_deprecated_with_message'
)
->
setDeprecated
(
'vendor/package', '1.1', 'Deprecation custom message for "%node%" at "%path%"'
)
->
end
(
)
->
scalarNode
(
'node_with_a_looong_name'
)
->
end
(
)
->
enumNode
(
'enum_with_default'
)
->
values
(
[
'this', 'that'
]
)
->
defaultValue
(
'this'
)
->
end
(
)
->
enumNode
(
'enum'
)
->
values
(
[
'this', 'that', TestEnum::Ccc
]
)
->
end
(
)
->
arrayNode
(
'array'
)
->
info
(
'some info'
)
->
canBeUnset
(
)
->
children
(
)
->
scalarNode
(
'child1'
)
->
end
(
)
->
scalarNode
(
'child2'
)
->
end
(
)
->
scalarNode
(
'child3'
)
->
info
(
"this is a long\n".
"multi-line info text\n".
'which should be indented'
)
->
example
(
'example setting'
)
->
end
(
)
->
scalarNode
(
'access_denied_url'
)
->
end
(
)
->
scalarNode
(
'access_denied_handler'
)
->
end
(
)
->
scalarNode
(
'entry_point'
)
->
info
(
sprintf
(
'An enabled authenticator name or a service id that implements "%s"', AuthenticationEntryPointInterface::
class
)
)
->
end
(
)
->
scalarNode
(
'provider'
)
->
end
(
)
->
booleanNode
(
'stateless'
)
->
defaultFalse
(
)
->
end
(
)
->
booleanNode
(
'lazy'
)
->
defaultFalse
(
)
->
end
(
)
->
scalarNode
(
'context'
)
->
cannotBeEmpty
(
)
->
end
(
)
->
arrayNode
(
'logout'
)
->
treatTrueLike
(
[
]
)
->
canBeUnset
(
)
->
beforeNormalization
(
)
->
ifTrue
(
fn
(
$v
)
: bool =>
isset
(
$v
[
'csrf_token_generator'
]
)
&& !
isset
(
$v
[
'csrf_token_manager'
]
)
)
->
then
(
function
Darray
$v
)
: array
{
$v
[
'csrf_token_manager'
]
=
$v
[
'csrf_token_generator'
]
;
return
$v
;
}
)
->
end
(
)
->
beforeNormalization
(
)
->
ifTrue
(
fn
(
$v
)
: bool => \
is_array
(
$v
)
&&
(
isset
(
$v
[
'csrf_token_manager'
]
)
xor
isset
(
$v
[
'enable_csrf'
]
)
)
)
->
then
(
function
Darray
$v
)
: array
{
use
Symfony\Component\Config\Definition\Processor;
class
FinalizationTest
extends
TestCase
{
public
function
testUnsetKeyWithDeepHierarchy
(
)
{
$tb
=
new
TreeBuilder
(
'config', 'array'
)
;
$tree
=
$tb
->
getRootNode
(
)
->
children
(
)
->
node
(
'level1', 'array'
)
->
canBeUnset
(
)
->
children
(
)
->
node
(
'level2', 'array'
)
->
canBeUnset
(
)
->
children
(
)
->
node
(
'somevalue', 'scalar'
)
->
end
(
)
->
node
(
'anothervalue', 'scalar'
)
->
end
(
)
->
end
(
)
->
end
(
)
->
node
(
'level1_scalar', 'scalar'
)
->
end
(
)
->
end
(
)
->
end
(
)