Completamenti di Eclipse – domanda @var (PHPDoc)

Ho un problema strano

Quando utilizzo @return Model\Article nel metodo di caricamento del model, vedo i methods del model in completamento automatico di Eclipse.

Il metodo di caricamento del model restituisce più oggetti, quindi lo voglio @return My\BaseModel e quindi metto il /* @var $model Model\Article */ per each model specifico (quando lo uso).

Il problema è che @return Model\Article funziona bene (vedo i methods Model\Article + My\BaseModel ) ma l'altro modo ( @return My\BaseModel e inline /*...*/ ) non lo fa – si dice ' Nessun completamento disponibile '.

Ho provato a inserire il commento in linea prima e dopo $model = ...; , ma nessuno dei due ha funzionato.

Mi dispiace per il mio pessimo inglese, spero che tu capisca.

Grazie per each tipo di aiuto, cordiali saluti, Jakub Chábek.

Cronologico: abbiamo fatto qualcosa di sbagliato …

Tutti: ecco una segnalazione di bug con lo stesso problema, ma è stata risolta – l'ho provata e funziona!

Ecco un esempio funzionante:

 namespace test { class AAA { /** * * @return \test\AAA */ static function getInstance() { return new static (); } } } namespace test2 { class BBB extends \test\AAA { /** * * @return \test2\BBB */ function showme() { } } } namespace test3 { $aaa = \test2\BBB::getInstance (); /* @var $aaa \test2\BBB */ $aaa-> } 

Quindi ci deve essere una misstake dalla mia parte … ma non riesco davvero a trovarla: D

Anche in passato ho avuto dei problemi. Mai trovato una soluzione facile e pulita. Quando sei davvero alla disperata ricerca del completamento del codice, metti un incarico in una posizione che non sarà mai raggiunta:

 if (false) $myVar = new MyClass(); 

Eclipse non si renderà conto che questo codice non verrà mai eseguito e fornirà il codice appropriato per il completamento.