相关疑难解决方法(0)

PHPStorm:正确的PHPDoc对象集合?

我正在使用PHPStorm IDE,并在运行代码检查时遇到麻烦.

我有一个返回对象集合的方法.它Collection本身就是一个对象,它有自己的方法,并实现了Traversable接口:

class Repository
{
    public function findByCustomer(Customer $user)
    {
        // ...
        return new Collection($orders);
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我将文档findByUser()返回a Collection,则代码检查会理解此对象上的方法,但不了解该集合包含的对象:

/**
 * @return Collection
 */
public function findByCustomer() { ... }
Run Code Online (Sandbox Code Playgroud)

在类Collection中找不到方法getTotal()

如果我记录findByUser()返回一个Order对象集合,代码检查现在可以理解集合中的内容,但不了解Collection自身的方法:

/**
 * @return Order[]
 */
public function findByCustomer() { ... }
Run Code Online (Sandbox Code Playgroud)

在Order []类中找不到方法slice()

有没有办法同时指定两者,像Java的语法?

/**
 * @return Collection<Order>
 */
public function findByCustomer() { ... }
Run Code Online (Sandbox Code Playgroud)

php phpdoc phpstorm

24
推荐指数
2
解决办法
6132
查看次数

标签 统计

php ×1

phpdoc ×1

phpstorm ×1