File: class-php83.php

package info (click to toggle)
php-di 7.1.1-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 2,932 kB
  • sloc: php: 10,572; makefile: 42; xml: 17; sh: 10; pascal: 5
file content (103 lines) | stat: -rw-r--r-- 2,846 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<?php

declare(strict_types=1);

namespace DI\Test\IntegrationTest\Definitions\AttributesTest;

use DI\Attribute\Inject;
use stdClass;

class NonAnnotatedClass
{
}

class AutowiredClass
{
    public stdClass $entry;
    public function __construct(stdClass $entry)
    {
        $this->entry = $entry;
    }
}

class ConstructorInjection
{
    public $value;
    public string $scalarValue;
    public stdClass $typedValue;
    public ?stdClass $typedOptionalValue;
    public ?stdClass $typedOptionalValueDefaultNull;
    /** @var stdClass&\ProxyManager\Proxy\LazyLoadingInterface */
    public $lazyService;
    public stdClass $attribute;
    public string $optionalValue;

    #[Inject(['value' => 'foo', 'scalarValue' => 'foo', 'lazyService' => 'lazyService'])]
    public function __construct(
        $value,
        string $scalarValue,
        \stdClass $typedValue,
        \stdClass $lazyService,
        #[Inject('attribute')]
        \stdClass $attribute,
        \stdClass $typedOptionalValue = null,
        ?\stdClass $typedOptionalValueDefaultNull = null,
        string $optionalValue = 'hello'
    ) {
        $this->value = $value;
        $this->scalarValue = $scalarValue;
        $this->typedValue = $typedValue;
        $this->typedOptionalValue = $typedOptionalValue;
        $this->typedOptionalValueDefaultNull = $typedOptionalValueDefaultNull;
        $this->lazyService = $lazyService;
        $this->attribute = $attribute;
        $this->optionalValue = $optionalValue;
    }
}

class PropertyInjection
{
    #[Inject(name: 'foo')]
    public $value;
    #[Inject('foo')]
    public $value2;
    #[Inject]
    public stdClass $entry;
    #[Inject('lazyService')]
    public $lazyService;
}

class MethodInjection
{
    public $value;
    public $scalarValue;
    public $typedValue;
    public $typedOptionalValue;
    public $typedOptionalValueDefaultNull;
    /** @var \ProxyManager\Proxy\LazyLoadingInterface */
    public $lazyService;
    public stdClass $attribute;
    public $optionalValue;

    #[Inject(['value' => 'foo', 'scalarValue' => 'foo', 'lazyService' => 'lazyService'])]
    public function method(
        $value,
        string $scalarValue,
        $untypedValue,
        \stdClass $lazyService,
        #[Inject('attribute')]
        stdClass $attribute,
        \stdClass $typedOptionalValue = null,
        ?\stdClass $typedOptionalValueDefaultNull = null,
        $optionalValue = 'hello'
    ) {
        $this->value = $value;
        $this->scalarValue = $scalarValue;
        $this->untypedValue = $untypedValue;
        $this->typedOptionalValue = $typedOptionalValue;
        $this->typedOptionalValueDefaultNull = $typedOptionalValueDefaultNull;
        $this->lazyService = $lazyService;
        $this->attribute = $attribute;
        $this->optionalValue = $optionalValue;
    }
}