Skip to content

Commit e5223fb

Browse files
committed
[TASK] Inject all dependencies via php and remove Services.yaml
1 parent 34d26d9 commit e5223fb

3 files changed

Lines changed: 175 additions & 85 deletions

File tree

Configuration/Services.php

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,36 @@
2424
]
2525
);
2626
}
27+
28+
$services = $containerConfigurator
29+
->services()
30+
->defaults()
31+
->autowire()
32+
->autoconfigure()
33+
;
34+
35+
$services
36+
->load(
37+
'Extcode\\CartProducts\\',
38+
'../Classes/*'
39+
)
40+
->exclude(
41+
[
42+
'../Classes/Handler/WatchlistItemHandler.php',
43+
]
44+
)
45+
;
46+
47+
$services
48+
->set(\Extcode\CartProducts\Hooks\DataHandler::class)
49+
->public()
50+
;
51+
52+
$services
53+
->set(\Extcode\CartProducts\Reaction\UpdateStockReaction::class)
54+
->tag('reactions.reaction')
55+
->public()
56+
;
57+
58+
$containerConfigurator->import('Services/EventListeners.php');
2759
};

Configuration/Services.yaml

Lines changed: 0 additions & 85 deletions
This file was deleted.
Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
use Extcode\Cart\Event\CheckProductAvailabilityEvent;
6+
use Extcode\Cart\Event\Order\StockEvent;
7+
use Extcode\Cart\Event\ProcessOrderCheckStockEvent;
8+
use Extcode\CartProducts\Event\RetrieveProductsFromRequestEvent;
9+
use Extcode\CartProducts\EventListener\CheckProductAvailability;
10+
use Extcode\CartProducts\EventListener\Create\CheckRequest;
11+
use Extcode\CartProducts\EventListener\Create\CreateCartBackendVariants;
12+
use Extcode\CartProducts\EventListener\Create\CreateCartFrontendVariants;
13+
use Extcode\CartProducts\EventListener\Create\CreateCartProduct;
14+
use Extcode\CartProducts\EventListener\Create\LoadProduct;
15+
use Extcode\CartProducts\EventListener\Order\Stock\CheckStock;
16+
use Extcode\CartProducts\EventListener\Order\Stock\FlushCache;
17+
use Extcode\CartProducts\EventListener\Order\Stock\HandleStock;
18+
use Extcode\CartProducts\EventListener\RetrieveProductsFromRequest;
19+
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
20+
21+
return static function (ContainerConfigurator $containerConfigurator): void {
22+
$services = $containerConfigurator
23+
->services()
24+
->defaults()
25+
->autowire()
26+
->autoconfigure()
27+
;
28+
29+
$services
30+
->set(CheckRequest::class)
31+
->tag(
32+
'event.listener',
33+
[
34+
'event' => RetrieveProductsFromRequestEvent::class,
35+
'identifier' => 'cart-products--create--check-request',
36+
]
37+
)
38+
;
39+
40+
$services
41+
->set(LoadProduct::class)
42+
->tag(
43+
'event.listener',
44+
[
45+
'event' => RetrieveProductsFromRequestEvent::class,
46+
'identifier' => 'cart-products--create--load-product',
47+
'after' => 'cart-products--create--check-request',
48+
]
49+
)
50+
;
51+
52+
$services
53+
->set(CreateCartFrontendVariants::class)
54+
->tag(
55+
'event.listener',
56+
[
57+
'event' => RetrieveProductsFromRequestEvent::class,
58+
'identifier' => 'cart-products--create--create-cart-frontend-variants',
59+
'after' => 'cart-products--create--load-product',
60+
]
61+
)
62+
;
63+
64+
$services
65+
->set(CreateCartProduct::class)
66+
->tag(
67+
'event.listener',
68+
[
69+
'event' => RetrieveProductsFromRequestEvent::class,
70+
'identifier' => 'cart-products--create--create-cart-product',
71+
'after' => 'cart-products--create--create-cart-frontend-variants',
72+
]
73+
)
74+
;
75+
76+
$services
77+
->set(CreateCartBackendVariants::class)
78+
->tag(
79+
'event.listener',
80+
[
81+
'event' => RetrieveProductsFromRequestEvent::class,
82+
'identifier' => 'cart-products--create--create-cart-backend-variants',
83+
'after' => 'cart-products--create--create-cart-product',
84+
]
85+
)
86+
;
87+
88+
$services
89+
->set(HandleStock::class)
90+
->tag(
91+
'event.listener',
92+
[
93+
'event' => StockEvent::class,
94+
'identifier' => 'cart-products--order--stock--handle-stock',
95+
]
96+
)
97+
;
98+
99+
$services
100+
->set(FlushCache::class)
101+
->tag(
102+
'event.listener',
103+
[
104+
'event' => StockEvent::class,
105+
'identifier' => 'cart-products--order--stock--flush-cache',
106+
'after' => 'cart-books--order--stock--handle-stock',
107+
]
108+
)
109+
;
110+
111+
$services
112+
->set(RetrieveProductsFromRequest::class)
113+
->tag(
114+
'event.listener',
115+
[
116+
'event' => \Extcode\Cart\Event\RetrieveProductsFromRequestEvent::class,
117+
'identifier' => 'cart-products--retrieve-products-from-request',
118+
]
119+
)
120+
;
121+
122+
$services
123+
->set(CheckProductAvailability::class)
124+
->tag(
125+
'event.listener',
126+
[
127+
'event' => CheckProductAvailabilityEvent::class,
128+
'identifier' => 'cart-products--check-product-availability',
129+
]
130+
)
131+
;
132+
133+
$services
134+
->set(CheckStock::class)
135+
->tag(
136+
'event.listener',
137+
[
138+
'event' => ProcessOrderCheckStockEvent::class,
139+
'identifier' => 'cart-products--order--stock-check-stock',
140+
]
141+
)
142+
;
143+
};

0 commit comments

Comments
 (0)