Code
Explorer
You are a developer and looking for Shopware projects?
Apply Now!
AutoconfigureCompilerPass example
$container
->
addCompilerPass
(
new
DisableTwigCacheWarmerCompilerPass
(
)
)
;
$container
->
addCompilerPass
(
new
DefaultTransportCompilerPass
(
)
)
;
$container
->
addCompilerPass
(
new
TwigLoaderConfigCompilerPass
(
)
)
;
$container
->
addCompilerPass
(
new
TwigEnvironmentCompilerPass
(
)
)
;
$container
->
addCompilerPass
(
new
RouteScopeCompilerPass
(
)
)
;
$container
->
addCompilerPass
(
new
AssetRegistrationCompilerPass
(
)
)
;
$container
->
addCompilerPass
(
new
AssetBundleRegistrationCompilerPass
(
)
)
;
$container
->
addCompilerPass
(
new
FilesystemConfigMigrationCompilerPass
(
)
)
;
$container
->
addCompilerPass
(
new
RateLimiterCompilerPass
(
)
)
;
$container
->
addCompilerPass
(
new
IncrementerGatewayCompilerPass
(
)
)
;
$container
->
addCompilerPass
(
new
RedisPrefixCompilerPass
(
)
)
;
$container
->
addCompilerPass
(
new
AutoconfigureCompilerPass
(
)
, PassConfig::TYPE_BEFORE_OPTIMIZATION, 1000
)
;
if
(
$container
->
getParameter
(
'kernel.environment'
)
=== 'test'
)
{
$container
->
addCompilerPass
(
new
DisableRateLimiterCompilerPass
(
)
)
;
$container
->
addCompilerPass
(
new
ContainerVisibilityCompilerPass
(
)
)
;
}
$container
->
addCompilerPass
(
new
FrameworkMigrationReplacementCompilerPass
(
)
)
;
$container
->
addCompilerPass
(
new
DemodataCompilerPass
(
)
)
;
parent::
build
(
$container
)
;
}
/** * @internal * * @covers \Shopware\Core\Framework\DependencyInjection\CompilerPass\AutoconfigureCompilerPass */
class
AutoconfigureCompilerPassTest
extends
TestCase
{
public
function
testAutoConfigure
(
)
: void
{
$container
=
new
ContainerBuilder
(
)
;
$container
->
addCompilerPass
(
new
AutoconfigureCompilerPass
(
)
, PassConfig::TYPE_BEFORE_OPTIMIZATION, 1000
)
;
$container
->
setDefinition
(
'product',
(
new
Definition
(
ProductDefinition::
class
)
)
->
setPublic
(
true
)
->
setAutoconfigured
(
true
)
->
setAutowired
(
true
)
)
;
$container
->
compile
(
true
)
;
static
::
assertTrue
(
$container
->
hasDefinition
(
'product'
)
)
;
static
::
assertTrue
(
$container
->
getDefinition
(
'product'
)
->
hasTag
(
'shopware.entity.definition'
)
)
;
}
public
function
testAliasing
(
)
: void
{
$container
=
new
ContainerBuilder
(
)
;