Factory::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 0

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 0
nc 1
nop 5
dl 0
loc 7
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace GacelaTest\Feature\Framework\BindingInterfacesInGacelaConfigFile\Module;
6
7
use Gacela\Framework\AbstractFactory;
8
use GacelaTest\Feature\Framework\BindingInterfacesInGacelaConfigFile\Module\Domain\AbstractClass;
9
use GacelaTest\Feature\Framework\BindingInterfacesInGacelaConfigFile\Module\Domain\AbstractFromAnonymousClass;
10
use GacelaTest\Feature\Framework\BindingInterfacesInGacelaConfigFile\Module\Domain\AbstractFromCallable;
11
use GacelaTest\Feature\Framework\BindingInterfacesInGacelaConfigFile\Module\Domain\InterfaceFromAnonymousClass;
12
use GacelaTest\Feature\Framework\BindingInterfacesInGacelaConfigFile\Module\Domain\InterfaceFromCallable;
13
use GacelaTest\Feature\Framework\BindingInterfacesInGacelaConfigFile\Module\Domain\Service;
14
15
final class Factory extends AbstractFactory
16
{
17
    public function __construct(
18
        private readonly AbstractClass $resolvedClass,
19
        private readonly AbstractFromAnonymousClass $resolvingAbstractAnonClassFunction,
20
        private readonly AbstractFromCallable $resolvingAbstractAnonClassCallable,
21
        private readonly InterfaceFromAnonymousClass $resolvingAnonClassFunction,
22
        private readonly InterfaceFromCallable $resolvingAnonClassCallable,
23
    ) {
24
    }
25
26
    public function createCompanyService(): Service
27
    {
28
        return new Service(
29
            $this->resolvedClass,
30
            $this->resolvingAbstractAnonClassFunction,
31
            $this->resolvingAbstractAnonClassCallable,
32
            $this->resolvingAnonClassFunction,
33
            $this->resolvingAnonClassCallable,
34
        );
35
    }
36
}
37