AssistedModule   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 13
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 2
eloc 9
dl 0
loc 13
c 0
b 0
f 0
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A configure() 0 11 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Ray\Di;
6
7
use Ray\Aop\MethodInvocation;
8
use Ray\Di\Di\Assisted;
9
10
use const PHP_VERSION_ID;
11
12
class AssistedModule extends AbstractModule
13
{
14
    protected function configure(): void
15
    {
16
        $this->bindInterceptor(
17
            $this->matcher->any(),
18
            $this->matcher->annotatedWith(Assisted::class),
19
            [AssistedInterceptor::class]
20
        );
21
        $this->bind(MethodInvocation::class)->toProvider(MethodInvocationProvider::class)->in(Scope::SINGLETON);
22
        $this->bind(MethodInvocationProvider::class)->in(Scope::SINGLETON);
23
        if (PHP_VERSION_ID >= 80000) {
24
            $this->install(new AssistedInjectModule());
25
        }
26
    }
27
}
28