PHPStorm: richtige PHPDoc für eine Sammlung von Objekten?
Ich bin mit dem PHPStorm IDE, und führen Sie in Schwierigkeiten, wenn ich die code-Inspektion.
Habe ich eine Methode, die zurückgibt, eine Sammlung von Objekten. Die Collection
selbst ist ein Objekt, das seine eigenen Methoden, und implementiert die Überfahrbar Schnittstelle:
class Repository
{
public function findByCustomer(Customer $user)
{
//...
return new Collection($orders);
}
}
Wenn ich das Dokument findByUser()
zurückgeben Collection
die code-Inspektion versteht die Methoden auf dieses Objekt, aber nicht verstehen, was Objekte enthält die Sammlung:
/**
* @return Collection
*/
public function findByCustomer() { ... }
Wenn ich das Dokument findByUser()
zum zurückgeben einer Auflistung Order
Objekte, die code-Inspektion jetzt versteht, was in der Sammlung, aber nicht die Methoden, die auf der Collection
selbst:
/**
* @return Order[]
*/
public function findByCustomer() { ... }
Gibt es einen Weg geben Sie beide zur gleichen Zeit, so etwas wie Java-syntax?
/**
* @return Collection<Order>
*/
public function findByCustomer() { ... }
- Kombinieren Sie diese (beiden Arten) zusammen. Kann nicht ideal sein, in einigen Situationen, aber Sie funktioniert und Sie können prüfen, es besser als manuelle Angabe der Art via @var PHPDoc-Kommentar. So ...
/** @return Collection|Order[] */
- auch wenn Sie nicht das perfekte, das ist eine sauberere option für mich. Hinzufügen Sie können das als Antwort?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kombinieren Sie diese (beiden Arten) zusammen. Kann nicht ideal sein, in einigen Situationen, aber Sie funktioniert und Sie können prüfen, es besser als manuell festzulegen, geben Sie über
@var
PHPDoc-Kommentar.|
haben die Methode. Gibt es einen besseren Weg, um typehint das jetzt?