Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
setBeforeRemovingPasses example
$container
=
$this
->
createContainer
(
$data
)
;
$container
->
registerExtension
(
$extension
?:
new
FrameworkExtension
(
)
)
;
$this
->
loadFromFile
(
$container
,
$file
)
;
if
(
$resetCompilerPasses
)
{
$container
->
getCompilerPassConfig
(
)
->
setOptimizationPasses
(
[
]
)
;
$container
->
getCompilerPassConfig
(
)
->
setRemovingPasses
(
[
]
)
;
$container
->
getCompilerPassConfig
(
)
->
setAfterRemovingPasses
(
[
]
)
;
}
$container
->
getCompilerPassConfig
(
)
->
setBeforeOptimizationPasses
(
[
new
LoggerPass
(
)
]
)
;
$container
->
getCompilerPassConfig
(
)
->
setBeforeRemovingPasses
(
[
new
AddConstraintValidatorsPass
(
)
,
new
TranslatorPass
(
)
]
)
;
$container
->
getCompilerPassConfig
(
)
->
setAfterRemovingPasses
(
[
new
AddAnnotationsCachedReaderPass
(
)
]
)
;
if
(
!
$compile
)
{
return
$container
;
}
$container
->
compile
(
)
;
return
self::
$containerCache
[
$cacheKey
]
=
$container
;
}
protected
function
createContainerFromClosure
(
$closure
,
$data
=
[
]
)
{
$passes
=
$config
->
getBeforeOptimizationPasses
(
)
;
$this
->
assertSame
(
$pass2
,
$passes
[
0
]
)
;
$this
->
assertSame
(
$pass1
,
$passes
[
1
]
)
;
}
public
function
testPassOrderingWithoutPasses
(
)
{
$config
=
new
PassConfig
(
)
;
$config
->
setBeforeOptimizationPasses
(
[
]
)
;
$config
->
setAfterRemovingPasses
(
[
]
)
;
$config
->
setBeforeRemovingPasses
(
[
]
)
;
$config
->
setOptimizationPasses
(
[
]
)
;
$config
->
setRemovingPasses
(
[
]
)
;
$this
->
assertEmpty
(
$config
->
getBeforeOptimizationPasses
(
)
)
;
$this
->
assertEmpty
(
$config
->
getAfterRemovingPasses
(
)
)
;
$this
->
assertEmpty
(
$config
->
getBeforeRemovingPasses
(
)
)
;
$this
->
assertEmpty
(
$config
->
getOptimizationPasses
(
)
)
;
$this
->
assertEmpty
(
$config
->
getRemovingPasses
(
)
)
;
}
}
$this
->
prepareContainer
(
$containerBuilder
)
;
return
$containerBuilder
;
}
,
$kernel
, \
get_class
(
$kernel
)
)
;
$container
=
$buildContainer
(
)
;
(
new
XmlFileLoader
(
$container
,
new
FileLocator
(
)
)
)
->
load
(
$kernel
->
getContainer
(
)
->
getParameter
(
'debug.container.dump'
)
)
;
$locatorPass
=
new
ServiceLocatorTagPass
(
)
;
$locatorPass
->
process
(
$container
)
;
$container
->
getCompilerPassConfig
(
)
->
setBeforeOptimizationPasses
(
[
]
)
;
$container
->
getCompilerPassConfig
(
)
->
setOptimizationPasses
(
[
]
)
;
$container
->
getCompilerPassConfig
(
)
->
setBeforeRemovingPasses
(
[
]
)
;
}
return
$this
->container =
$container
;
}
}
if
(
!
$kernelContainer
instanceof Container
)
{
throw
new
RuntimeException
(
sprintf
(
'This command does not support the application container: "%s" does not extend "%s".',
get_debug_type
(
$kernelContainer
)
, Container::
class
)
)
;
}
(
new
XmlFileLoader
(
$container
=
new
ContainerBuilder
(
$parameterBag
=
new
EnvPlaceholderParameterBag
(
)
)
,
new
FileLocator
(
)
)
)
->
load
(
$kernelContainer
->
getParameter
(
'debug.container.dump'
)
)
;
$refl
=
new
\
ReflectionProperty
(
$parameterBag
, 'resolved'
)
;
$refl
->
setValue
(
$parameterBag
, true
)
;
$container
->
getCompilerPassConfig
(
)
->
setBeforeOptimizationPasses
(
[
]
)
;
$container
->
getCompilerPassConfig
(
)
->
setOptimizationPasses
(
[
new
ResolveFactoryClassPass
(
)
]
)
;
$container
->
getCompilerPassConfig
(
)
->
setBeforeRemovingPasses
(
[
]
)
;
}
$container
->
setParameter
(
'container.build_hash', 'lint_container'
)
;
$container
->
setParameter
(
'container.build_id', 'lint_container'
)
;
$container
->
addCompilerPass
(
new
CheckTypeDeclarationsPass
(
true
)
, PassConfig::TYPE_AFTER_REMOVING, -100
)
;
return
$this
->container =
$container
;
}
}