Ho codice più o meno così:PhpStorm type-hinting per le fabbriche?
class Foo {
public static function factory($str) {
$class = "Foo_" . $str;
return new $class;
}
}
class Foo_Bar {
public function razzle() {
print "Foo_Bar->baz() was called";
}
}
$Obj = Foo::factory('Bar');
e vorrei PhpStorm capire che $Obj
è un oggetto Foo_Bar
, in modo che per esempio se di tipo $Obj->raz
, razzle()
verranno visualizzati per il completamento automatico.
C'è un modo per ottenere questo? Per dire a PhpStorm che la funzione Foo::factory($str)
restituisce un oggetto di tipo Foo_$str
? La mia ipotesi è che la risposta sia no.
Forse sto facendo qualcosa di sbagliato, ma non sembra funzionare per me. Sto usando PhpStorm 6.0.3. Ho creato i seguenti due file in un nuovo progetto vuoto: http://pastie.org/8146899, ma non ottengo alcun tipo di completamento automatico su '' $ x -> ... ' –
Lavoro per me. 1) Il file con i metadati DEVE essere chiamato '.phpstorm.meta.php'; 2) Non verrà raccolto istantaneamente - chiudi e riapri il progetto (la ricerca di tale file viene eseguita sul carico del progetto, una volta trovato il file, le modifiche dovrebbero essere immediatamente rilevate) - questo comportamento è stato risolto V7. – LazyOne
Grazie! Non mi ero reso conto che il nome fosse richiesto, ora funziona magnificamente. –