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;
The short answer is no.
My understanding is that enforcing such a thing has terrible performance issues. Some people want to go all the way and have full generics, others just want type-safe collections. Some people worry that implementing the latter first might hinder development of the former. So we are stopped.
There is an occasional discussion in the community like this: https://externals.io/message/108175