PHPStorm: правильный PHPDoc для коллекции объектов?
Я использую PhpStorm IDE, и я столкнусь с проблемами при проверке кода.
У меня есть метод, который возвращает коллекцию объектов.Collection
сам по себе является объектом, который имеет свои собственные методы и реализует Traversable интерфейс:
class Repository
{
public function findByCustomer(Customer $user)
{
// ...
return new Collection($orders);
}
}
Если я документируюfindByUser()
чтобы вернутьCollection
, проверка кода понимает методы этого объекта, но не понимает, какие объекты содержит коллекция:
/**
* @return Collection
*/
public function findByCustomer() { ... }
Если я документируюfindByUser()
чтобы вернуть коллекциюOrder
объекты, проверка кода теперь понимает, что находится внутри коллекции, но не методыCollection
сам
/**
* @return Order[]
*/
public function findByCustomer() { ... }
Есть ли способ указать оба одновременно, что-то вроде синтаксиса Java?
/**
* @return Collection<Order>
*/
public function findByCustomer() { ... }