Issue
Is there a type hint in PHP 8.1
which allows using ExampleClass[]
for declaring it is an array of objects of the class ExampleClass
?
In my specific case, ExampleClass
is called Task
What I want but does not work:
private Task[] $tasks;
My PHPStorm IDE tells me that Plural types are allowed only in doc types
- speaking that only in PHPDoc
using Tasks[]
would be totally fine. But I want to use plain PHP.
The error is:
PHP Parse error: syntax error, unexpected token "[", expecting variable
If I would only need one object Task
and not an array of objects Task[]
it would work with:
private Task $task;
This is my current, working workaround:
private array $tasks;
Solution
The short answer is no.
My understanding is that enforcing such a thing has terrible performance problems. Some people want to go all the way and have full blown generics, others just want type-safe collections. Some people worry that implementing the latter first might hinder the development of the former. So we’re at a standstill.
There’s the occasional discussion in the community such as this: https://externals.io/message/108175
Answered By - Chris Haas
0 Comments:
Post a Comment
Note: Only a member of this blog may post a comment.