@@ -64,21 +64,27 @@ use Zalas\Injector\PHPUnit\TestCase\ServiceContainerTestCase;
6464class ServiceInjectorTest extends TestCase implements ServiceContainerTestCase
6565{
6666 /**
67- * @var SerializerInterface
6867 * @inject
6968 */
70- private $serializer;
69+ private SerializerInterface $serializer;
7170
7271 /**
73- * @var LoggerInterface
7472 * @inject logger
7573 */
76- private $logger;
74+ private LoggerInterface $logger;
75+
76+ /**
77+ * @var LoggerInterface
78+ * @inject
79+ */
80+ private $anotherLogger;
81+
7782
7883 public function testThatServicesAreInjected()
7984 {
8085 $this->assertInstanceOf(SerializerInterface::class, $this->serializer, 'The service is injectd by its type');
8186 $this->assertInstanceOf(LoggerInterface::class, $this->logger, 'The service is injected by its id');
87+ $this->assertInstanceOf(LoggerInterface::class, $this->anotherLogger, 'The service is injected by its @var type');
8288 }
8389
8490 public function createServiceContainer(): ContainerInterface
@@ -89,6 +95,7 @@ class ServiceInjectorTest extends TestCase implements ServiceContainerTestCase
8995```
9096
9197The service is found by its type, or an id if it's given in the ` @inject ` tag.
98+ In legacy PHP versions the ` @var ` annotation can be used.
9299
93100The ` createServiceContainer ` method would be usually provided by a base test case or a trait.
94101In case of Symfony, such a trait is provided by this package (see the next section).
@@ -112,16 +119,14 @@ class ServiceInjectorTest extends TestCase implements ServiceContainerTestCase
112119 use SymfonyTestContainer;
113120
114121 /**
115- * @var SerializerInterface
116122 * @inject
117123 */
118- private $serializer;
124+ private SerializerInterface $serializer;
119125
120126 /**
121- * @var LoggerInterface
122127 * @inject logger
123128 */
124- private $logger;
129+ private LoggerInterface $logger;
125130
126131 public function testThatServicesAreInjected()
127132 {
@@ -171,16 +176,14 @@ class ServiceInjectorTest extends TestCase implements ServiceContainerTestCase
171176 use SymfonyContainer;
172177
173178 /**
174- * @var SerializerInterface
175179 * @inject
176180 */
177- private $serializer;
181+ private SerializerInterface $serializer;
178182
179183 /**
180- * @var LoggerInterface
181184 * @inject logger
182185 */
183- private $logger;
186+ private LoggerInterface $logger;
184187
185188 public function testThatServicesAreInjected()
186189 {
0 commit comments