getApplicationPlugins()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 25
Code Lines 19

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 19
dl 0
loc 25
rs 9.6333
c 0
b 0
f 0
cc 2
nc 2
nop 0
1
<?php
2
3
/**
4
 * This file is part of the Spryker Commerce OS.
5
 * For full license information, please view the LICENSE file that was distributed with this source code.
6
 */
7
8
declare(strict_types = 1);
9
10
namespace Pyz\Zed\Application;
11
12
use Spryker\Zed\Application\ApplicationDependencyProvider as SprykerApplicationDependencyProvider;
13
use Spryker\Zed\Currency\Communication\Plugin\Application\CurrencyBackendGatewayApplicationPlugin;
14
use Spryker\Zed\ErrorHandler\Communication\Plugin\Application\ErrorHandlerApplicationPlugin;
15
use Spryker\Zed\EventDispatcher\Communication\Plugin\Application\BackendApiEventDispatcherApplicationPlugin;
16
use Spryker\Zed\EventDispatcher\Communication\Plugin\Application\BackendGatewayEventDispatcherApplicationPlugin;
17
use Spryker\Zed\EventDispatcher\Communication\Plugin\Application\BackofficeEventDispatcherApplicationPlugin;
18
use Spryker\Zed\EventDispatcher\Communication\Plugin\Application\EventDispatcherApplicationPlugin;
19
use Spryker\Zed\Form\Communication\Plugin\Application\FormApplicationPlugin;
20
use Spryker\Zed\GuiTable\Communication\Plugin\Application\GuiTableApplicationPlugin;
21
use Spryker\Zed\Http\Communication\Plugin\Application\HttpApplicationPlugin;
22
use Spryker\Zed\Locale\Communication\Plugin\Application\LocaleApplicationPlugin;
23
use Spryker\Zed\Locale\Communication\Plugin\Application\LocaleBackendGatewayApplicationPlugin;
24
use Spryker\Zed\Messenger\Communication\Plugin\Application\MessengerApplicationPlugin;
25
use Spryker\Zed\Propel\Communication\Plugin\Application\PropelApplicationPlugin;
26
use Spryker\Zed\Router\Communication\Plugin\Application\BackendApiRouterApplicationPlugin;
27
use Spryker\Zed\Router\Communication\Plugin\Application\BackendGatewayRouterApplicationPlugin;
28
use Spryker\Zed\Router\Communication\Plugin\Application\BackofficeRouterApplicationPlugin;
29
use Spryker\Zed\Router\Communication\Plugin\Application\RouterApplicationPlugin;
30
use Spryker\Zed\Security\Communication\Plugin\Application\ZedSecurityApplicationPlugin;
31
use Spryker\Zed\Session\Communication\Plugin\Application\MockArraySessionApplicationPlugin;
32
use Spryker\Zed\Session\Communication\Plugin\Application\SessionApplicationPlugin;
33
use Spryker\Zed\Store\Communication\Plugin\Application\BackofficeStoreApplicationPlugin;
34
use Spryker\Zed\Store\Communication\Plugin\Application\StoreBackendGatewayApplicationPlugin;
35
use Spryker\Zed\Translator\Communication\Plugin\Application\TranslatorApplicationPlugin;
36
use Spryker\Zed\Twig\Communication\Plugin\Application\TwigApplicationPlugin;
37
use Spryker\Zed\Twig\Communication\Plugin\Application\TwigGatewayApplicationPlugin;
38
use Spryker\Zed\UtilNumber\Communication\Plugin\Application\NumberFormatterApplicationPlugin;
39
use Spryker\Zed\Validator\Communication\Plugin\Application\ValidatorApplicationPlugin;
40
use Spryker\Zed\WebProfiler\Communication\Plugin\Application\WebProfilerApplicationPlugin;
41
use Spryker\Zed\ZedRequest\Communication\Plugin\Application\RequestBackendGatewayApplicationPlugin;
42
43
class ApplicationDependencyProvider extends SprykerApplicationDependencyProvider
44
{
45
    /**
46
     * @return array<\Spryker\Shared\ApplicationExtension\Dependency\Plugin\ApplicationPluginInterface>
47
     */
48
    protected function getApplicationPlugins(): array
49
    {
50
        $plugins = [
51
            new SessionApplicationPlugin(),
52
            new TwigApplicationPlugin(),
53
            new EventDispatcherApplicationPlugin(),
54
            new LocaleApplicationPlugin(),
55
            new TranslatorApplicationPlugin(),
56
            new MessengerApplicationPlugin(),
57
            new PropelApplicationPlugin(),
58
            new RouterApplicationPlugin(),
59
            new HttpApplicationPlugin(),
60
            new ErrorHandlerApplicationPlugin(),
61
            new FormApplicationPlugin(),
62
            new ValidatorApplicationPlugin(),
63
            new ZedSecurityApplicationPlugin(),
64
            new NumberFormatterApplicationPlugin(),
65
            new BackofficeStoreApplicationPlugin(),
66
        ];
67
68
        if (class_exists(WebProfilerApplicationPlugin::class)) {
69
            $plugins[] = new WebProfilerApplicationPlugin();
70
        }
71
72
        return $plugins;
73
    }
74
75
    /**
76
     * @return array<\Spryker\Shared\ApplicationExtension\Dependency\Plugin\ApplicationPluginInterface>
77
     */
78
    protected function getBackofficeApplicationPlugins(): array
79
    {
80
        $applicationPlugins = [
81
            new SessionApplicationPlugin(),
82
            new TwigApplicationPlugin(),
83
            new BackofficeEventDispatcherApplicationPlugin(),
84
            new LocaleApplicationPlugin(),
85
            new TranslatorApplicationPlugin(),
86
            new MessengerApplicationPlugin(),
87
            new PropelApplicationPlugin(),
88
            new BackofficeRouterApplicationPlugin(),
89
            new HttpApplicationPlugin(),
90
            new ErrorHandlerApplicationPlugin(),
91
            new FormApplicationPlugin(),
92
            new ValidatorApplicationPlugin(),
93
            new ZedSecurityApplicationPlugin(),
94
            new GuiTableApplicationPlugin(),
95
            new NumberFormatterApplicationPlugin(),
96
            new BackofficeStoreApplicationPlugin(),
97
        ];
98
99
        if (class_exists(WebProfilerApplicationPlugin::class)) {
100
            $applicationPlugins[] = new WebProfilerApplicationPlugin();
101
        }
102
103
        return $applicationPlugins;
104
    }
105
106
    /**
107
     * @return array<\Spryker\Shared\ApplicationExtension\Dependency\Plugin\ApplicationPluginInterface>
108
     */
109
    protected function getBackendGatewayApplicationPlugins(): array
110
    {
111
        $plugins = [
112
            new ZedSecurityApplicationPlugin(),
113
            new BackendGatewayEventDispatcherApplicationPlugin(),
114
            new RequestBackendGatewayApplicationPlugin(),
115
            new StoreBackendGatewayApplicationPlugin(),
116
            new LocaleBackendGatewayApplicationPlugin(),
117
            new CurrencyBackendGatewayApplicationPlugin(),
118
            new MockArraySessionApplicationPlugin(),
119
            new TranslatorApplicationPlugin(),
120
            new TwigGatewayApplicationPlugin(),
121
            new TwigApplicationPlugin(),
122
            new PropelApplicationPlugin(),
123
            new BackendGatewayRouterApplicationPlugin(),
124
            new HttpApplicationPlugin(),
125
        ];
126
127
        if (class_exists(WebProfilerApplicationPlugin::class)) {
128
            $plugins[] = new WebProfilerApplicationPlugin();
129
        }
130
131
        return $plugins;
132
    }
133
134
    /**
135
     * @return array<\Spryker\Shared\ApplicationExtension\Dependency\Plugin\ApplicationPluginInterface>
136
     */
137
    protected function getBackendApiApplicationPlugins(): array
138
    {
139
        return [
140
            new BackendApiEventDispatcherApplicationPlugin(),
141
            new LocaleApplicationPlugin(),
142
            new TranslatorApplicationPlugin(),
143
            new PropelApplicationPlugin(),
144
            new BackendApiRouterApplicationPlugin(),
145
            new HttpApplicationPlugin(),
146
            new ValidatorApplicationPlugin(),
147
        ];
148
    }
149
}
150