Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
ifString example
->
defaultFalse
(
)
->
end
(
)
->
booleanNode
(
'set_content_language_from_locale'
)
->
info
(
'Whether to set the Content-Language HTTP header on the Response using the Request locale.'
)
->
defaultFalse
(
)
->
end
(
)
->
arrayNode
(
'enabled_locales'
)
->
info
(
'Defines the possible locales for the application. This list is used for generating translations files, but also to restrict which locales are allowed when it is set from Accept-Language header (using "set_locale_from_accept_language").'
)
->
prototype
(
'scalar'
)
->
end
(
)
->
end
(
)
->
arrayNode
(
'trusted_hosts'
)
->
beforeNormalization
(
)
->
ifString
(
)
->
then
(
fn
(
$v
)
=>
[
$v
]
)
->
end
(
)
->
prototype
(
'scalar'
)
->
end
(
)
->
end
(
)
->
scalarNode
(
'trusted_proxies'
)
->
end
(
)
->
arrayNode
(
'trusted_headers'
)
->
fixXmlConfig
(
'trusted_header'
)
->
performNoDeepMerging
(
)
->
defaultValue
(
[
'x-forwarded-for', 'x-forwarded-port', 'x-forwarded-proto'
]
)
->
beforeNormalization
(
)
->
ifString
(
)
->
then
(
fn
(
$v
)
=>
$v
?
array_map
(
'trim',
explode
(
',',
$v
)
)
:
[
]
)
->
end
(
)
->
enumPrototype
(
)
->
values
(
[
'forwarded',
$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
(
)
;
}
}
->
children
(
)
;
$builder
->
scalarNode
(
'secret'
)
->
cannotBeEmpty
(
)
->
defaultValue
(
'%kernel.secret%'
)
->
end
(
)
->
scalarNode
(
'service'
)
->
end
(
)
->
arrayNode
(
'user_providers'
)
->
beforeNormalization
(
)
->
ifString
(
)
->
then
(
fn
(
$v
)
=>
[
$v
]
)
->
end
(
)
->
prototype
(
'scalar'
)
->
end
(
)
->
end
(
)
->
booleanNode
(
'catch_exceptions'
)
->
defaultTrue
(
)
->
end
(
)
->
arrayNode
(
'signature_properties'
)
->
prototype
(
'scalar'
)
->
end
(
)
->
requiresAtLeastOneElement
(
)
->
info
(
'An array of properties on your User that are used to sign the remember-me cookie. If any of these change, all existing cookies will become invalid.'
)
->
example
(
[
'email', 'password'
]
)
->
defaultValue
(
[
'password'
]
)
->
end
(
)
public
function
addConfiguration
(
NodeDefinition
$node
)
: void
{
parent::
addConfiguration
(
$node
)
;
$builder
=
$node
->
children
(
)
;
$builder
->
scalarNode
(
'realm'
)
->
defaultNull
(
)
->
end
(
)
->
arrayNode
(
'token_extractors'
)
->
fixXmlConfig
(
'token_extractors'
)
->
beforeNormalization
(
)
->
ifString
(
)
->
then
(
fn
(
$v
)
=>
[
$v
]
)
->
end
(
)
->
cannotBeEmpty
(
)
->
defaultValue
(
[
'security.access_token_extractor.header',
]
)
->
scalarPrototype
(
)
->
end
(
)
->
end
(
)
;
$tokenHandlerNodeBuilder
=
$builder
$test
=
$this
->
getTestBuilder
(
)
->
ifTrue
(
fn
(
)
=> false
)
->
then
(
$this
->
returnClosure
(
'new_value'
)
)
->
end
(
)
;
$this
->
assertFinalizedValueIs
(
'value',
$test
)
;
}
public
function
testIfStringExpression
(
)
{
$test
=
$this
->
getTestBuilder
(
)
->
ifString
(
)
->
then
(
$this
->
returnClosure
(
'new_value'
)
)
->
end
(
)
;
$this
->
assertFinalizedValueIs
(
'new_value',
$test
)
;
$test
=
$this
->
getTestBuilder
(
)
->
ifString
(
)
->
then
(
$this
->
returnClosure
(
'new_value'
)
)
->
end
(
)
;
$this
->
assertFinalizedValueIs
(
45,
$test
,
[
'key' => 45
]
)
;
}
use
Symfony\Component\Config\Definition\ConfigurationInterface;
class
ScalarNormalizedTypes
implements
ConfigurationInterface
{
public
function
getConfigTreeBuilder
(
)
: TreeBuilder
{
$tb
=
new
TreeBuilder
(
'scalar_normalized_types'
)
;
$rootNode
=
$tb
->
getRootNode
(
)
;
$rootNode
->
children
(
)
->
arrayNode
(
'simple_array'
)
->
beforeNormalization
(
)
->
ifString
(
)
->
then
(
fn
(
$v
)
=>
[
$v
]
)
->
end
(
)
->
prototype
(
'scalar'
)
->
end
(
)
->
end
(
)
->
arrayNode
(
'keyed_array'
)
->
useAttributeAsKey
(
'name'
)
->
prototype
(
'array'
)
->
beforeNormalization
(
)
->
ifString
(
)
->
then
(
fn
(
$v
)
=>
[
$v
]
)
->
end
(
)
->
prototype
(
'scalar'
)
->
end
(
)
->
end
(
)
->
end
(
)
public
function
getKey
(
)
: string
{
return
'oidc_user_info';
}
public
function
addConfiguration
(
NodeBuilder
$node
)
: void
{
$node
->
arrayNode
(
$this
->
getKey
(
)
)
->
fixXmlConfig
(
$this
->
getKey
(
)
)
->
beforeNormalization
(
)
->
ifString
(
)
->
then
(
fn
(
$v
)
=>
[
'claim' => 'sub', 'base_uri' =>
$v
]
)
->
end
(
)
->
children
(
)
->
scalarNode
(
'base_uri'
)
->
info
(
'Base URI of the userinfo endpoint on the OIDC server.'
)
->
isRequired
(
)
->
cannotBeEmpty
(
)
->
end
(
)
->
scalarNode
(
'claim'
)
->
info
(
'Claim which contains the user identifier (e.g. sub, email, etc.).'
)
->
defaultValue
(
'sub'
)
public
function
testNormalizeEncoders
(
$denormalized
)
{
$tb
=
new
TreeBuilder
(
'root_name', 'array'
)
;
$tree
=
$tb
->
getRootNode
(
)
->
fixXmlConfig
(
'encoder'
)
->
children
(
)
->
node
(
'encoders', 'array'
)
->
useAttributeAsKey
(
'class'
)
->
prototype
(
'array'
)
->
beforeNormalization
(
)
->
ifString
(
)
->
then
(
fn
(
$v
)
=>
[
'algorithm' =>
$v
]
)
->
end
(
)
->
children
(
)
->
node
(
'algorithm', 'scalar'
)
->
end
(
)
->
end
(
)
->
end
(
)
->
end
(
)
->
end
(
)
->
end
(
)
->
buildTree
(
)
;
$normalized
=
[
->
fixXmlConfig
(
'extra_field'
)
->
fixXmlConfig
(
'default_role'
)
->
children
(
)
->
scalarNode
(
'service'
)
->
isRequired
(
)
->
cannotBeEmpty
(
)
->
defaultValue
(
'ldap'
)
->
end
(
)
->
scalarNode
(
'base_dn'
)
->
isRequired
(
)
->
cannotBeEmpty
(
)
->
end
(
)
->
scalarNode
(
'search_dn'
)
->
defaultNull
(
)
->
end
(
)
->
scalarNode
(
'search_password'
)
->
defaultNull
(
)
->
end
(
)
->
arrayNode
(
'extra_fields'
)
->
prototype
(
'scalar'
)
->
end
(
)
->
end
(
)
->
arrayNode
(
'default_roles'
)
->
beforeNormalization
(
)
->
ifString
(
)
->
then
(
fn
(
$v
)
=>
preg_split
(
'/\s*,\s*/',
$v
)
)
->
end
(
)
->
requiresAtLeastOneElement
(
)
->
prototype
(
'scalar'
)
->
end
(
)
->
end
(
)
->
scalarNode
(
'uid_key'
)
->
defaultValue
(
'sAMAccountName'
)
->
end
(
)
->
scalarNode
(
'filter'
)
->
defaultValue
(
'({uid_key}={username})'
)
->
end
(
)
->
scalarNode
(
'password_attribute'
)
->
defaultNull
(
)
->
end
(
)
->
end
(
)
;
}
}
->
booleanNode
(
'strict_variables'
)
->
defaultValue
(
'%kernel.debug%'
)
->
end
(
)
->
scalarNode
(
'auto_reload'
)
->
end
(
)
->
integerNode
(
'optimizations'
)
->
min
(
-1
)
->
end
(
)
->
scalarNode
(
'default_path'
)
->
info
(
'The default path used to load templates'
)
->
defaultValue
(
'%kernel.project_dir%/templates'
)
->
end
(
)
->
arrayNode
(
'file_name_pattern'
)
->
example
(
'*.twig'
)
->
info
(
'Pattern of file name used for cache warmer and linter'
)
->
beforeNormalization
(
)
->
ifString
(
)
->
then
(
fn
(
$value
)
=>
[
$value
]
)
->
end
(
)
->
prototype
(
'scalar'
)
->
end
(
)
->
end
(
)
->
arrayNode
(
'paths'
)
->
normalizeKeys
(
false
)
->
useAttributeAsKey
(
'paths'
)
->
beforeNormalization
(
)
->
always
(
)
->
then
(
function
D
$paths
)
{
$normalized
=
[
]
;
private
function
addRoleHierarchySection
(
ArrayNodeDefinition
$rootNode
)
: void
{
$rootNode
->
fixXmlConfig
(
'role', 'role_hierarchy'
)
->
children
(
)
->
arrayNode
(
'role_hierarchy'
)
->
useAttributeAsKey
(
'id'
)
->
prototype
(
'array'
)
->
performNoDeepMerging
(
)
->
beforeNormalization
(
)
->
ifString
(
)
->
then
(
fn
(
$v
)
=>
[
'value' =>
$v
]
)
->
end
(
)
->
beforeNormalization
(
)
->
ifTrue
(
fn
(
$v
)
=> \
is_array
(
$v
)
&&
isset
(
$v
[
'value'
]
)
)
->
then
(
fn
(
$v
)
=>
preg_split
(
'/\s*,\s*/',
$v
[
'value'
]
)
)
->
end
(
)
->
prototype
(
'scalar'
)
->
end
(
)
->
end
(
)
->
end
(
)
->
end
(
)
;
}