Я использую PHPStormIDE и сталкиваюсь с проблемами, когда запускаю проверку кода.
У меня есть метод, который возвращает набор объектов. Коллекция
сама по себе является объектом, который имеет свои собственные методы и реализует интерфейс 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
*/
public function findByCustomer() { ... }