Я использую 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() { ... }