我正在使用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() { ... }
有没有办法同时指定两者,比如 Java 的语法?
/**
* @return Collection<Order>
*/
public function findByCustomer() { ... }