我正在使用PHPStorm IDE,在运行代码检查时遇到了麻烦。
我有一个返回对象集合的方法。它Collection本身是一个对象,它有自己的方法,并实现了Traversable接口:
class Repository
{
public function findByCustomer(Customer $user)
{
// ...
return new Collection($orders);
}
}
如果我记录findByUser()返回 a Collection,则代码检查了解此对象的方法,但不了解集合包含哪些对象:
/**
* @return Collection
*/
public function findByCustomer() { ... }

如果我记录findByUser()返回Order对象集合,代码检查现在了解集合内部的内容,但不了解其Collection本身的方法:
/**
* @return Order[]
*/
public function findByCustomer() { ... }
![在类 Order[] 中找不到方法 slice()](https://i.stack.imgur.com/ZTFSU.png)
有没有办法同时指定两者,比如 Java 的语法?
/**
* @return Collection<Order>
*/
public function findByCustomer() { ... }
