Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
ResolveInvalidReferencesPass example
new
AutowireRequiredMethodsPass
(
)
,
new
AutowireRequiredPropertiesPass
(
)
,
new
ResolveBindingsPass
(
)
,
new
ServiceLocatorTagPass
(
)
,
new
DecoratorServicePass
(
)
,
new
CheckDefinitionValidityPass
(
)
,
new
AutowirePass
(
false
)
,
new
ServiceLocatorTagPass
(
)
,
new
ResolveTaggedIteratorArgumentPass
(
)
,
new
ResolveServiceSubscribersPass
(
)
,
new
ResolveReferencesToAliasesPass
(
)
,
new
ResolveInvalidReferencesPass
(
)
,
new
AnalyzeServiceReferencesPass
(
true
)
,
new
CheckCircularReferencesPass
(
)
,
new
CheckReferenceValidityPass
(
)
,
new
CheckArgumentsValidityPass
(
false
)
,
]
]
;
$this
->removingPasses =
[
[
new
RemovePrivateAliasesPass
(
)
,
new
ReplaceAliasByActualDefinitionPass
(
)
,
new
RemoveAbstractDefinitionsPass
(
)
,
new
RemoveUnusedDefinitionsPass
(
)
,
$container
=
new
ContainerBuilder
(
)
;
$decoratorDefinition
=
$container
->
register
(
'decorator'
)
->
setArguments
(
[
new
Reference
(
'decorator.inner'
)
,
]
)
->
setDecoratedService
(
'unknown_decorated', null, 0, ContainerInterface::NULL_ON_INVALID_REFERENCE
)
;
(
new
DecoratorServicePass
(
)
)
->
process
(
$container
)
;
(
new
ResolveInvalidReferencesPass
(
)
)
->
process
(
$container
)
;
$this
->
assertSame
(
[
null
]
,
$decoratorDefinition
->
getArguments
(
)
)
;
}
public
function
testProcessSetOnlyDecoratedAsNullOnInvalid
(
)
{
$container
=
new
ContainerBuilder
(
)
;
$unknownArgument
=
new
Reference
(
'unknown_argument'
)
;
$decoratorDefinition
=
$container
->
register
(
'decorator'
)
->
setArguments
(
[
new
AutowireRequiredMethodsPass
(
)
,
new
AutowireRequiredPropertiesPass
(
)
,
new
ResolveBindingsPass
(
)
,
new
ServiceLocatorTagPass
(
)
,
new
DecoratorServicePass
(
)
,
new
CheckDefinitionValidityPass
(
)
,
new
AutowirePass
(
false
)
,
new
ServiceLocatorTagPass
(
)
,
new
ResolveTaggedIteratorArgumentPass
(
)
,
new
ResolveServiceSubscribersPass
(
)
,
new
ResolveReferencesToAliasesPass
(
)
,
new
ResolveInvalidReferencesPass
(
)
,
new
AnalyzeServiceReferencesPass
(
true
)
,
new
CheckCircularReferencesPass
(
)
,
new
CheckReferenceValidityPass
(
)
,
new
CheckArgumentsValidityPass
(
false
)
,
]
]
;
$this
->removingPasses =
[
[
new
RemovePrivateAliasesPass
(
)
,
new
ReplaceAliasByActualDefinitionPass
(
)
,
new
RemoveAbstractDefinitionsPass
(
)
,
new
RemoveUnusedDefinitionsPass
(
)
,
->
addMethodCall
(
'setTestCase',
[
new
Reference
(
'c1'
)
]
)
;
$pass
=
new
RegisterControllerArgumentLocatorsPass
(
)
;
$pass
->
process
(
$container
)
;
$controllers
=
$container
->
getDefinition
(
(string)
$resolver
->
getArgument
(
0
)
)
->
getArgument
(
0
)
;
$this
->
assertCount
(
2,
$container
->
getDefinition
(
(string)
$controllers
[
'c1::fooAction'
]
->
getValues
(
)
[
0
]
)
->
getArgument
(
0
)
)
;
$this
->
assertCount
(
1,
$container
->
getDefinition
(
(string)
$controllers
[
'c2::setTestCase'
]
->
getValues
(
)
[
0
]
)
->
getArgument
(
0
)
)
;
$this
->
assertCount
(
1,
$container
->
getDefinition
(
(string)
$controllers
[
'c2::fooAction'
]
->
getValues
(
)
[
0
]
)
->
getArgument
(
0
)
)
;
(
new
ResolveInvalidReferencesPass
(
)
)
->
process
(
$container
)
;
$this
->
assertCount
(
1,
$container
->
getDefinition
(
(string)
$controllers
[
'c2::setTestCase'
]
->
getValues
(
)
[
0
]
)
->
getArgument
(
0
)
)
;
$this
->
assertSame
(
[
]
,
$container
->
getDefinition
(
(string)
$controllers
[
'c2::fooAction'
]
->
getValues
(
)
[
0
]
)
->
getArgument
(
0
)
)
;
(
new
RemoveEmptyControllerArgumentLocatorsPass
(
)
)
->
process
(
$container
)
;
$controllers
=
$container
->
getDefinition
(
(string)
$resolver
->
getArgument
(
0
)
)
->
getArgument
(
0
)
;
$this
->
assertSame
(
[
'c1::fooAction', 'c1:fooAction'
]
,
array_keys
(
$controllers
)
)
;
$this
->
assertSame
(
[
'bar'
]
,
array_keys
(
$container
->
getDefinition
(
(string)
$controllers
[
'c1::fooAction'
]
->
getValues
(
)
[
0
]
)
->
getArgument
(
0
)
)
)
;