ServiceProxy::afterCall()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
eloc 2
dl 0
loc 4
ccs 2
cts 2
cp 1
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 4
crap 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Yiisoft\Yii\Debug\Collector;
6
7
use Yiisoft\Proxy\ObjectProxy;
8
9
class ServiceProxy extends ObjectProxy
10
{
11
    use ProxyLogTrait;
12
13
    public function __construct(
14
        private readonly string $service,
15 4
        object $instance,
16
        ContainerProxyConfig $config,
17
    ) {
18
        $this->config = $config;
19
        parent::__construct($instance);
20 4
    }
21 4
22 4
    protected function afterCall(string $methodName, array $arguments, mixed $result, float $timeStart): mixed
23
    {
24
        $this->logProxy($this->service, $this->getInstance(), $methodName, $arguments, $result, $timeStart);
25 1
        return $result;
26
    }
27 1
28 1
    protected function getNewStaticInstance(object $instance): ObjectProxy
29
    {
30
        /**
31
         * @psalm-suppress UnsafeInstantiation Constructor should be consistent to `getNewStaticInstance()`.
32
         */
33
        return new static($this->service, $instance, $this->config);
34
    }
35
36 1
    protected function getService(): string
37
    {
38 1
        return $this->service;
39
    }
40
41
    protected function getConfig(): ContainerProxyConfig
42
    {
43
        return $this->config;
44
    }
45
}
46