Diciamo che ho un modello di fabbrica tipico in codice PHP:codice di completamento e la fabbrica modello in Eclipse PDT
abstract class Model
{
function m()
{
}
}
class model_A
{
function a()
{
}
}
class model_B
{
function b()
{
}
}
function modelFactory($name)
{
$className = 'model_' . $name;
$object = new $className();
// ... do some magic stuff ...
return $object;
}
che so sulla @var e tag PHPDoc @return, ma c'è un modo magico così dopo digitando questo:
$x = modelFactory('A');
Eclipse saprà $ x è un'istanza di model_A?
posso definire da qualche parte un vettore fisso di stringhe in questo modo:
"modelFactory('A')" => "new model_A()"
"modelFactory('B')" => "new model_B()"
per Eclipse per sostituire in memoria prima di elaborare con il completamento del codice.
Perché vuoi questo? La factory dovrebbe restituire oggetti "simili", ad es. implementa la stessa interfaccia o estende la stessa super classe. – atomman
sì, volevo che l'esempio fosse super semplificato. l'ho modificato ora e ho aggiunto la super classe. So che posso aggiungere @return Model sopra modelFactory ma è possibile ottenere sia m() che a() come un metodo hint per $ x – fsw
anche: gran parte del mio progetto dipende dal modello di fabbrica e la mancanza di completamento del codice è così fastidioso avrò bisogno di refactoring se questo non è possibile. – fsw