SpecificheSuggerimento iteratore di rigorose entità di tipo in PHPDoc
- sto usando PhpStorm 8 IDE.
- Supponiamo di avere qualche classe
Foo
che implementa l'interfaccia\Iterator
e sappiamo che tutti gli elementi all'interno di tale iteratore saranno di istanza della classeBar
.
Domanda
Come suggerimento che Foo
è iterabile e contiene solo gli elementi di Bar
? Naturalmente, suggerimento dovrebbe mantenere le informazioni, che è istanza di Foo
Quello che ho provato finora
Se avessimo una serie di Bar
casi, che poi è una cosa facile (è descritto, per esempio, nella domanda this): Bar[]
. Inoltre, se l'intenzione è quella di scorrere Foo
, ancora può essere risolto (più o meno) con:
//assume that $foo is instance of Foo
//..
/* @var $object Bar */
foreach ($foo as $object) {
}
Tuttavia, c'è una cosa molto importante che non è ottenibile con in-place hinting: tipo di ritorno . Se avrò un metodo che dovrebbe restituire Foo
, so solo come suggerire che Foo
, ma l'utente di quella funzione non sarà ancora in grado di esporre, che è effettivamente iterabile e contiene istanze Bar
(come sarebbe se io 'll specificare @return Bar[]
in caso di array di Bar
casi)