Skip to content

Commit c8960c6

Browse files
committed
Optimized memory usage.
1 parent 48b1703 commit c8960c6

34 files changed

+572
-175
lines changed

src/Builders/Request/BodyBuilder.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
use Closure;
66
use DOMDocument;
77
use DOMElement;
8+
use EbicsApi\Ebics\Services\CryptService;
9+
use EbicsApi\Ebics\Services\ZipService;
810

911
/**
1012
* Class BodyBuilder builder for request container.
@@ -14,11 +16,15 @@
1416
*/
1517
abstract class BodyBuilder
1618
{
19+
protected ZipService $zipService;
20+
protected CryptService $cryptService;
1721
protected DOMElement $instance;
1822
protected ?DOMDocument $dom;
1923

20-
public function __construct(?DOMDocument $dom = null)
24+
public function __construct(ZipService $zipService, CryptService $cryptService, ?DOMDocument $dom = null)
2125
{
26+
$this->zipService = $zipService;
27+
$this->cryptService = $cryptService;
2228
$this->dom = $dom;
2329
}
2430

src/Builders/Request/BodyBuilderV2.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ final class BodyBuilderV2 extends BodyBuilder
1414
{
1515
public function addDataTransfer(Closure $callback): BodyBuilder
1616
{
17-
$dataTransferBuilder = new DataTransferBuilderV2($this->dom);
17+
$dataTransferBuilder = new DataTransferBuilderV2($this->zipService, $this->cryptService, $this->dom);
1818
$this->instance->appendChild($dataTransferBuilder->createInstance()->getInstance());
1919

2020
call_user_func($callback, $dataTransferBuilder);

src/Builders/Request/BodyBuilderV3.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ final class BodyBuilderV3 extends BodyBuilder
1414
{
1515
public function addDataTransfer(Closure $callback): BodyBuilder
1616
{
17-
$dataTransferBuilder = new DataTransferBuilderV3($this->dom);
17+
$dataTransferBuilder = new DataTransferBuilderV3($this->zipService, $this->cryptService, $this->dom);
1818
$this->instance->appendChild($dataTransferBuilder->createInstance()->getInstance());
1919

2020
call_user_func($callback, $dataTransferBuilder);

src/Builders/Request/DataEncryptionInfoBuilder.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
namespace EbicsApi\Ebics\Builders\Request;
44

5+
use DOMDocument;
6+
use DOMElement;
57
use EbicsApi\Ebics\Exceptions\SignatureEbicsException;
68
use EbicsApi\Ebics\Models\Keyring;
79
use EbicsApi\Ebics\Services\CryptService;
8-
use DOMDocument;
9-
use DOMElement;
1010

1111
/**
1212
* Class DataEncryptionInfoBuilder builder for request container.
@@ -20,10 +20,10 @@ final class DataEncryptionInfoBuilder
2020
private ?DOMDocument $dom;
2121
private CryptService $cryptService;
2222

23-
public function __construct(?DOMDocument $dom = null)
23+
public function __construct(CryptService $cryptService, ?DOMDocument $dom = null)
2424
{
25+
$this->cryptService = $cryptService;
2526
$this->dom = $dom;
26-
$this->cryptService = new CryptService();
2727
}
2828

2929
/**

src/Builders/Request/DataTransferBuilder.php

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22

33
namespace EbicsApi\Ebics\Builders\Request;
44

5-
use EbicsApi\Ebics\Contracts\SignatureDataInterface;
6-
use EbicsApi\Ebics\Services\CryptService;
7-
use EbicsApi\Ebics\Services\ZipService;
85
use Closure;
96
use DOMDocument;
107
use DOMElement;
8+
use EbicsApi\Ebics\Contracts\SignatureDataInterface;
9+
use EbicsApi\Ebics\Services\CryptService;
10+
use EbicsApi\Ebics\Services\ZipService;
1111

1212
/**
1313
* Class DataTransferBuilder builder for request container.
@@ -22,11 +22,11 @@ abstract class DataTransferBuilder
2222
protected ZipService $zipService;
2323
protected CryptService $cryptService;
2424

25-
public function __construct(?DOMDocument $dom = null)
25+
public function __construct(ZipService $zipService, CryptService $cryptService, ?DOMDocument $dom = null)
2626
{
2727
$this->dom = $dom;
28-
$this->zipService = new ZipService();
29-
$this->cryptService = new CryptService();
28+
$this->zipService = $zipService;
29+
$this->cryptService = $cryptService;
3030
}
3131

3232
public function createInstance(): DataTransferBuilder
@@ -62,7 +62,7 @@ public function addOrderData(string $orderData = null, string $transactionKey =
6262

6363
public function addDataEncryptionInfo(Closure $callable = null): DataTransferBuilder
6464
{
65-
$dataEncryptionInfoBuilder = new DataEncryptionInfoBuilder($this->dom);
65+
$dataEncryptionInfoBuilder = new DataEncryptionInfoBuilder($this->cryptService, $this->dom);
6666
$this->instance->appendChild($dataEncryptionInfoBuilder->createInstance()->getInstance());
6767

6868
call_user_func($callable, $dataEncryptionInfoBuilder);

src/Builders/Request/HeaderBuilder.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use Closure;
66
use DOMDocument;
77
use DOMElement;
8+
use EbicsApi\Ebics\Services\CryptService;
89

910
/**
1011
* Class HeaderBuilder builder for request container.
@@ -14,11 +15,13 @@
1415
*/
1516
abstract class HeaderBuilder
1617
{
18+
protected CryptService $cryptService;
1719
protected DOMElement $instance;
1820
protected ?DOMDocument $dom;
1921

20-
public function __construct(?DOMDocument $dom = null)
22+
public function __construct(CryptService $cryptService, ?DOMDocument $dom = null)
2123
{
24+
$this->cryptService = $cryptService;
2225
$this->dom = $dom;
2326
}
2427

src/Builders/Request/HeaderBuilderV2.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ final class HeaderBuilderV2 extends HeaderBuilder
1414
{
1515
public function addStatic(Closure $callback): HeaderBuilder
1616
{
17-
$staticBuilder = new StaticBuilderV2($this->dom);
17+
$staticBuilder = new StaticBuilderV2($this->cryptService, $this->dom);
1818
$this->instance->appendChild($staticBuilder->createInstance()->getInstance());
1919

2020
call_user_func($callback, $staticBuilder);

src/Builders/Request/HeaderBuilderV3.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ final class HeaderBuilderV3 extends HeaderBuilder
1414
{
1515
public function addStatic(Closure $callback): HeaderBuilder
1616
{
17-
$staticBuilder = new StaticBuilderV3($this->dom);
17+
$staticBuilder = new StaticBuilderV3($this->cryptService, $this->dom);
1818
$this->instance->appendChild($staticBuilder->createInstance()->getInstance());
1919

2020
call_user_func($callback, $staticBuilder);

src/Builders/Request/StaticBuilder.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
namespace EbicsApi\Ebics\Builders\Request;
44

5-
use EbicsApi\Ebics\Services\CryptService;
65
use Closure;
76
use DateTimeInterface;
87
use DOMDocument;
98
use DOMElement;
9+
use EbicsApi\Ebics\Services\CryptService;
1010

1111
/**
1212
* Class StaticBuilder builder for request container.
@@ -24,10 +24,10 @@ abstract class StaticBuilder
2424
protected ?DOMDocument $dom;
2525
protected CryptService $cryptService;
2626

27-
public function __construct(?DOMDocument $dom = null)
27+
public function __construct(CryptService $cryptService, ?DOMDocument $dom = null)
2828
{
29+
$this->cryptService = $cryptService;
2930
$this->dom = $dom;
30-
$this->cryptService = new CryptService();
3131
}
3232

3333
/**

src/Builders/Request/XmlBuilder.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
use Closure;
66
use DOMDocument;
77
use DOMElement;
8+
use EbicsApi\Ebics\Services\CryptService;
9+
use EbicsApi\Ebics\Services\ZipService;
810

911
/**
1012
* Class XmlBuilder builder for request container.
@@ -20,11 +22,15 @@ abstract class XmlBuilder
2022
private const EBICS_NO_PUB_KEY_DIGESTS = 'ebicsNoPubKeyDigestsRequest';
2123
private const EBICS_HEV = 'ebicsHEVRequest';
2224

25+
protected ZipService $zipService;
26+
protected CryptService $cryptService;
2327
protected DOMElement $instance;
2428
protected ?DOMDocument $dom;
2529

26-
public function __construct(?DOMDocument $dom = null)
30+
public function __construct(ZipService $zipService, CryptService $cryptService, ?DOMDocument $dom = null)
2731
{
32+
$this->zipService = $zipService;
33+
$this->cryptService = $cryptService;
2834
$this->dom = $dom;
2935
}
3036

0 commit comments

Comments
 (0)