PHPStorm: Richtiges PHPDoc für eine Sammlung von Objekten?

Ich benutze diePHPStorm IDE und stoßen auf Probleme, wenn ich die Codeinspektion durchführe.

Ich habe eine Methode, die eine Sammlung von Objekten zurückgibt. DasCollection selbst ist ein Objekt, das seine eigenen Methoden hat und das implementiertDurchfahrbar Schnittstelle:

class Repository
{
    public function findByCustomer(Customer $user)
    {
        // ...
        return new Collection($orders);
    }
}

Wenn ich dokumentierefindByUser() zurückgeben aCollectionversteht die Codeinspektion die Methoden für dieses Objekt, aber nicht, welche Objekte die Sammlung enthält:

/**
 * @return Collection
 */
public function findByCustomer() { ... }

Wenn ich dokumentierefindByUser() eine Sammlung vonOrder Objekte, die Code-Inspektion versteht jetzt, was in der Auflistung, aber nicht die Methoden auf derCollection selbst:

/**
 * @return Order[]
 */
public function findByCustomer() { ... }

Gibt es eine Möglichkeit, beides gleichzeitig anzugeben, etwa die Syntax von Java?

/**
 * @return Collection<Order>
 */
public function findByCustomer() { ... }

Antworten auf die Frage(1)

Ihre Antwort auf die Frage