私はPHPコード内の典型的な工場のパターンを考えてみましょう:コード補完とファクトリパターン
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;
}
私は@varや@return phpdocのタグについて知っているが、後ので、任意の魔法の方法があります
$x = modelFactory('A');
Eclipseは$ xがmodel_Aのインスタンスであることを知っていますか?
私はどこかにこのような文字列の固定ベクタ定義することができます:コード補完を処理する前にメモリに交換するEclipse用の
"modelFactory('A')" => "new model_A()"
"modelFactory('B')" => "new model_B()"
を。
なぜこれが欲しいですか?ファクトリは "類似の"オブジェクトを返さなければなりません。同じインターフェースを実装するか、同じスーパークラスを拡張します。 – atomman
はい私は例を超簡単にしたいと思った。私は今編集してスーパークラスを追加しました。私はmodelFactoryの上に@returnモデルを追加することができますが、$ xのメソッドヒントとしてm()とa()を取得することも可能です – fsw
:私のプロジェクトの大部分は工場パターンとコード補完が不足していますこれが不可能な場合は、私はそれをリファクタリングする必要があります迷惑な。 – fsw