Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
collectTypeExtensionsOptions example
$type
->
getInnerType
(
)
->
configureOptions
(
$ownOptionsResolver
=
new
OptionsResolverWrapper
(
)
)
;
$this
->ownOptions =
array_diff
(
$ownOptionsResolver
->
getDefinedOptions
(
)
,
$optionsResolver
->
getDefinedOptions
(
)
)
;
$overriddenOptions
=
array_intersect
(
array_merge
(
$ownOptionsResolver
->
getDefinedOptions
(
)
,
$ownOptionsResolver
->
getUndefinedOptions
(
)
)
,
$optionsResolver
->
getDefinedOptions
(
)
)
;
$this
->parentOptions =
[
]
;
foreach
(
$this
->parents
as
$class
=>
$parentOptions
)
{
$this
->overriddenOptions
[
$class
]
=
array_intersect
(
$overriddenOptions
,
$parentOptions
)
;
$this
->parentOptions
[
$class
]
=
array_diff
(
$parentOptions
,
$overriddenOptions
)
;
}
$type
->
getInnerType
(
)
->
configureOptions
(
$optionsResolver
)
;
$this
->
collectTypeExtensionsOptions
(
$type
,
$optionsResolver
)
;
$this
->extensionOptions =
[
]
;
foreach
(
$this
->extensions
as
$class
=>
$extensionOptions
)
{
$this
->overriddenOptions
[
$class
]
=
array_intersect
(
$overriddenOptions
,
$extensionOptions
)
;
$this
->extensionOptions
[
$class
]
=
array_diff
(
$extensionOptions
,
$overriddenOptions
)
;
}
$this
->overriddenOptions =
array_filter
(
$this
->overriddenOptions
)
;
$this
->parentOptions =
array_filter
(
$this
->parentOptions
)
;
$this
->extensionOptions =
array_filter
(
$this
->extensionOptions
)
;
$this
->requiredOptions =
$optionsResolver
->
getRequiredOptions
(
)
;